saya mendapatkan kesalahan aneh - layar putih dalam daftar posting
untuk jenis posting kustom tertentu (hanya untuk yang itu)
- mencoba menonaktifkan semua plugin
- mencoba memeriksa kesalahan (debugging = true)
Masih tidak ada
halaman yang tidak menggemakan apa pun ... (tidak ada sumber juga)
Saya berbicara tentang url di admin:
http://www.example.co.il/wp-admin/edit.php?post_type=submodelscpt
Inilah bagian register_post_type yang saya gunakan:
function register_submodelcpt() {
$labels = array(
'name' => __('Sub Models', THEME_NAME),
'singular_name' => __('Sub Models', THEME_NAME),
'add_new' => __('New Model', THEME_NAME),
'add_new_item' => __('Add new Model', THEME_NAME),
'edit_item' => __('Edit Model', THEME_NAME),
'new_item' => __('New Model', THEME_NAME),
'all_items' => __('All Sub Models', THEME_NAME),
'view_item' => __('Watch Model', THEME_NAME),
'search_items' => __('Search Models', THEME_NAME),
'not_found' => __('No Models found', THEME_NAME),
'not_found_in_trash' => __('No Models found in trash', THEME_NAME),
'parent_item_colon' => '',
'menu_name' => __('Sub Models', THEME_NAME),
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => array('slug' => 'submodels'),
'capability_type' => 'post',
'has_archive' => true,
'hierarchical' => true,
'menu_position' => 5,
'menu_icon' => get_stylesheet_directory_uri().'/images/cpt/subcars.png',
'supports' => array('title', 'thumbnail', 'revisions', 'page-attributes')
);
register_post_type('submodelscpt',$args);
}
add_action('init', 'register_submodelcpt');
Apakah ada yang menemukan masalah seperti itu?
dapatkah Anda memikirkan alasan mengapa hal ini mungkin terjadi?
Hal aneh lain
ketika saya mengubah ini:
http://www.example.co.il/wp-admin/edit.php?post_type=submodelscpt
Untuk ini:
http://www.example.co.il/wp-admin/edit.php?post_type=submodelscpt&orderby=date&order=desc
Daftar posting dimuat dengan benar ...
custom-post-types
fatal-error
SEO yang sombong
sumber
sumber
pre_get_posts
, filter kueri, dll.pre_get_posts
. Namun, jika debug Anda aktif dan Anda mendapatkan layar putih tanpa kesalahan saya pikir pasti adaexit
ataudie
, cobalah untuk mencari mereka.Jawaban:
Ini untuk memperluas jawaban Anda sendiri:
Berikut adalah apa kata codex tentang
hierarchical
parameterKetika jenis posting khusus ditetapkan sebagai hierarki, perilakunya akan sama dengan jenis posting dalam-bangunan
page
. Seperti halaman, Wordpress mencoba membangun pohon untuk menampilkan pohon hierarki yang benar dengan hubungan orangtua-anak di bagian belakang. Seperti yang mungkin Anda perhatikan, halaman tidak diurutkan berdasarkan tanggal di bagian belakang, tetapi oleh hubungan orangtua-anak ini. Perilaku ini dapat Anda lihat dengan mudah saat mengunjungiPage
halaman di bagian belakang.Operasi ini sangat mahal karena Wordpress perlu mendapatkan setiap halaman (atau posting dari jenis posting hirarkis) pada setiap halaman memuat dan kemudian mencari halaman induk / anak halaman / posting tertentu untuk membangun pohon yang benar untuk halaman / posting tertentu . Jika Anda memiliki sejumlah besar halaman atau posting dalam jenis posting kustom hierarkis Anda, kueri hanya menjadi besar dan melebihi batas memori atau waktu habis, yang mengarah ke kesalahan fatal, karenanya WSOD.
Jenis posting non-hierarkis seperti build dalam jenis posting
post
tidak memiliki hierarki seperti posting jenis posting non-hirarkis tidak dapat memiliki posting anak. Karena tidak perlu membangun pohon hubungan orangtua-anak (untuk alasan yang jelas), Wordpress hanya meminta 20 posting ( IIRC ) per halaman yang dipesan berdasarkan tanggal di bagian belakang dan menampilkannya berbeda dengan posting jenis posting hirarkis di mana Wordpress harus query semua posting sekaligus, buat pohon dan kemudian hanya tampilkan jumlah x pada posting yang dikelompokkan berdasarkan hubungan orangtua-anak mereka. Anda dapat memeriksa perilaku ini diPost
halaman di bagian belakangJadi pengaturan jenis posting khusus ke hierarki memberitahu Wordpress bahwa itu harus membangun daftar / pohon posting yang dikelompokkan berdasarkan hubungan orangtua-anak mereka dan mengembalikan posting tersebut dalam konfigurasi itu. Mengatur jenis posting khusus ke non-hierarkis, Anda mengatakan kepada Wordpress untuk melewati semua hubungan dan hanya mengembalikan jumlah x posting per halaman yang dipesan berdasarkan tanggal posting
Saya harap ini lebih masuk akal bagi Anda mengapa Anda harus menghindari membuat tipe posting khusus secara hierarkis, dan mengapa hal itu juga dinyatakan dalam kodeks
sumber
Saya hanya ingin menambahkan jawaban dengan @SagiveSEO dan @PieterGoosen.
Ada juga pembunuh kinerja potensial terkait jenis posting hierarki :
Yaitu kotak dropdown halaman induk yang digunakan
wp_dropdown_pages()
.Saat ini sangat tidak efisien karena memuat (hampir) semua halaman ke dalam kotak dropdown pilih.
Jadi jika kita memiliki situs dengan banyak halaman, maka ini dapat mengganggu kinerja.
Bayangkan saja sebuah situs dengan 1 juta halaman ;-)
Ini dilaporkan 6 tahun yang lalu dengan tiket # 9864 . Itu masih terbuka sehingga Anda masih dapat berkontribusi pada solusi pelengkapan otomatis yang diajukan.
Memperbarui:
Saya hanya ingin menyebutkan beberapa filter bermanfaat:
wp_dropdown_pages
- filter keluaran untukwp_dropdown_pages()
fungsi. Dapat digunakan untuk menambahkan atau menggemakan beberapa HTML tambahan jika diperlukan.get_pages
- karenawp_dropdown_pages()
memanggilget_pages()
fungsi.page_attributes_dropdown_pages_args
- filter untuk argumenwp_dropdown_pages()
dipost.php/post-new.php
layar untuk jenis posting hirarkis.quick_edit_dropdown_pages_args
- filter untuk argumenwp_dropdown_pages()
diedit.php
layar untuk jenis posting hirarkis.yang dapat digunakan untuk mengatasi masalah tersebut.
Dimungkinkan untuk memodifikasi output
wp_dropdown_pages()
padapost.php
layar dengan:dan juga untuk
edit.php
layar untuk halaman :Perhatikan bahwa argumen input kedua (
$post
) tidak tersedia untuk panggilan balik filter ini.Tentu saja mungkin untuk hanya menghapus dukungan atribut halaman:
tapi kemudian kita mungkin hanya menggunakan tipe posting non-hierarkis sebagai gantinya ;-)
Daftar orang tua dengan pagination ajax?
Seharusnya dimungkinkan, dengan bantuan filter di atas, untuk membuat daftar orang tua yang diberi nomor (non-hierarki), yang akan diperbarui melalui ajax. Mungkin opsi kotak pilih bisa diperbarui, untuk menjaga tata letak saat ini. Ini mungkin? menjadi pendekatan yang berbeda dari kotak pencarian induk yang disarankan (pada core trac), dengan penyelesaian otomatis.
sumber
edit.php
layar @PieterGoosenwp_dropdown_pages()
masalah ini, adalah dengan menggunakan kotak teks pencarian dengan penyelesaian otomatis ajax bukannya kotak dropdown saat ini, ketika jumlah halaman "besar". @PieterGoosenOke ... bagi siapa pun yang mengunjungi pos ini - saya telah menemukan solusinya ...
saya benar-benar mengalami masalah ini lagi (ketika sebuah situs memiliki banyak halaman)
Masalahnya adalah baris ini saat mendaftarkan jenis posting khusus:
Yang perlu Anda lakukan adalah mengubahnya menjadi false!
Penjelasan:
Tampaknya ketika "hierarkis" disetel ke true, setiap posting berperilaku seperti halaman. Saya mengutip di sini jadi saya tidak begitu mengerti mengapa itu penting tetapi mengubah baris ini menghilangkan masalah.
sumber
Ini adalah contoh lengkap dari kodeks wordpress
sumber