Saya hanya ingin menanyakan halaman dengan templat halaman tertentu WP_Query
atau fungsi yang akan mengembalikan objek posting, tetapi saya tidak dapat menemukan informasi tentang itu di kodeks resmi.
14
Coba ini ... Dengan asumsi nama templat adalah 'my_template.php',
$query = new WP_Query(
array(
'post_type' => 'page',
'meta_key' => '_wp_page_template',
'meta_value' => 'my_template.php'
)
);
//Down goes the loop...
Anda juga dapat menggunakan get_posts , atau mengubah posting kueri untuk menyelesaikan pekerjaan. Kedua fungsi ini menggunakan parameter yang sama dengan WP_Query .
Salah: pada wordpress 3 Anda memerlukan sesuatu yang mirip dengan:
$args = array(
'post_type' => 'page',
'meta_query' => array(
array(
'key' => '_wp_page_template',
'value' => 'my_template.php'
)
)
);
post_type
. Kalau tidak, Anda tidak perlumeta_query
array untuk satu pasangan kunci / nilai kustom.meta_key
danmeta_value
atau dengan array biasa, yang dapat mencakup beberapa kondisi.Templat halaman disimpan sebagai nilai meta dengan kunci "_wp_page_template".
Jadi yang Anda butuhkan adalah menggunakan kunci itu dalam parameter kueri meta. Sebagai contoh
Lihat http://codex.wordpress.org/Displaying_Posts_Using_a_Custom_Select_Query#Query_based_on_Custom_Field_and_Sorted_by_Value
dan http://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters
sumber
Jika ada upaya yang salah menghasilkan nol posting, mungkin nama template salah. Saya mencoba nama file php dan nama templat saya dan ternyata tidak berhasil. Kemudian saya memutuskan untuk memeriksa kotak pilih templat di mana kita memilih templat pada editor halaman. Aku menemukan ini:
Saya menggunakan
templates-map/component-tutorial-1.php
dan itu berhasil.sumber
Jika Anda memiliki templat di dalam folder lain:
sumber