apakah fungsi get_posts ()?
Fungsi get_posts () mengembalikan pelbagai objek WP_POST. Setiap objek WP_POST mewakili jawatan individu.
get_posts dalaman menggunakan objek WP_Query untuk membina dan melaksanakan pertanyaan SQL berdasarkan set parameter yang diluluskan.
NOTA: Posts Means Post, Page and Custom Post Type.
mengapa tidak menggunakan objek WP_Query secara langsung?
Apakah perbezaan antara fungsi get_posts () dan get_pages ()?
Fungsi get_posts hanya mengambil satu hujah sebagai array. Arahan mengandungi parameter yang berbeza untuk menggunakan penapis tersuai dan menyusun hasilnya.
Berikut adalah contoh kod yang menunjukkan cara memanggil fungsi ini dan pelbagai parameter yang tersedia:
<span><span><?php </span></span><span> </span><span><span>$args = array( </span></span><span> <span>"posts_per_page" => 5, </span></span><span> <span>"paged" => 1 </span></span><span> <span>"tax_query" => array( </span></span><span> <span>array( </span></span><span> <span>"taxonomy" => "category", </span></span><span> <span>"field" => "slug", </span></span><span> <span>"terms" => "videos,movies", </span></span><span> <span>) </span></span><span> <span>), </span></span><span> <span>"orderby" => "post_date", </span></span><span> <span>"order" => "DESC", </span></span><span> <span>"exclude" => "1123, 4456", </span></span><span> <span>"meta_key" => "", </span></span><span> <span>"meta_value" => "", </span></span><span> <span>"post_type" => "post", </span></span><span> <span>"post_status" => "publish" </span></span><span><span>); </span></span><span> </span><span><span>$posts_array = get_posts($args); </span></span><span> </span><span><span>?></span></span>
Terdapat lebih banyak parameter yang tersedia, tetapi ini adalah yang paling biasa digunakan. Mari lihat setiap parameter ini:
Fungsi get_posts mengembalikan array yang mengandungi objek WP_POST. Berikut adalah sifat penting objek WP_POST:
mari kita periksa beberapa contoh menggunakan fungsi get_posts.
Jika anda ingin memaparkan nombor N atas jawatan yang paling banyak dibincangkan di laman web anda, maka anda boleh menggunakan get_posts untuk mengambilnya. Berikut adalah contoh:
<span><span><?php </span></span><span> </span><span><span>$args = array( </span></span><span> <span>"posts_per_page" => 5, </span></span><span> <span>"paged" => 1 </span></span><span> <span>"tax_query" => array( </span></span><span> <span>array( </span></span><span> <span>"taxonomy" => "category", </span></span><span> <span>"field" => "slug", </span></span><span> <span>"terms" => "videos,movies", </span></span><span> <span>) </span></span><span> <span>), </span></span><span> <span>"orderby" => "post_date", </span></span><span> <span>"order" => "DESC", </span></span><span> <span>"exclude" => "1123, 4456", </span></span><span> <span>"meta_key" => "", </span></span><span> <span>"meta_value" => "", </span></span><span> <span>"post_type" => "post", </span></span><span> <span>"post_status" => "publish" </span></span><span><span>); </span></span><span> </span><span><span>$posts_array = get_posts($args); </span></span><span> </span><span><span>?></span></span>
di sini, kami menggunakan parameter Orderby untuk menyusun jawatan berdasarkan bilangan komen, mengambil 10 jawatan teratas.
anda juga boleh mendapatkan jawatan rawak dengan mudah. Ini berguna untuk mengesyorkan pengguna artikel lain di laman web anda sebaik sahaja mereka selesai membaca yang terkini. Inilah kod untuk ini:
<span><span><?php </span></span><span> <span>$args = array("posts_per_page" => 10, "orderby" => "comment_count"); </span></span><span> <span>$posts_array = get_posts($args); </span></span><span> <span>foreach($posts_array as $post) </span></span><span> <span>{ </span></span><span> <span>echo "<h1>" . $post->post_title . "</h1><br>"; </span></span><span> <span>echo "<p>" . $post->post_content . "</p><br>"; </span></span><span> <span>} </span></span><span><span>?></span></span>
Dalam contoh di atas, kami lulus nilai rand ke parameter order_by.
Kami mungkin mahu mengambil semua jawatan yang mempunyai kunci meta dan nilai tertentu yang diberikan. Sebagai contoh: Sesetengah blog mempunyai pengulas untuk setiap artikel. Kami mungkin mahu mengambil artikel yang dikaji semula oleh pengulas tertentu.
inilah kod untuk melakukannya:
<span><span><?php </span></span><span> <span>$args = array("posts_per_page" => 1, "orderby" => "rand"); </span></span><span> <span>$posts_array = get_posts($args); </span></span><span> <span>foreach($posts_array as $post) </span></span><span> <span>{ </span></span><span> <span>echo "<h1>" . $post->post_title . "</h1><br>"; </span></span><span> <span>echo "<p>" . $post->post_content . "</p><br>"; </span></span><span> <span>} </span></span><span><span>?></span></span>
di sini, kami mengambil semua jawatan yang dikaji semula oleh "NarayanPrusty". Kami menganggap nama pengulas disimpan melalui "pengulas" kunci meta untuk setiap jawatan.
Kami mungkin mahu mengambil jawatan jenis pos tersuai dengan nama taksonomi tersuai. Pertimbangkan contoh kod ini:
<span><span><?php </span></span><span> <span>$args = array("posts_per_page" => -1, "meta_key" => "reviewer", "meta_value" = "narayanprusty"); </span></span><span> <span>$posts_array = get_posts($args); </span></span><span> <span>foreach($posts_array as $post) </span></span><span> <span>{ </span></span><span> <span>echo "<h1>" . $post->post_title . "</h1><br>"; </span></span><span> <span>echo "<p>" . $post->post_content . "</p><br>"; </span></span><span> <span>} </span></span><span><span>?></span></span>
Dalam contoh ini, kami mengambil semula jawatan jenis post tersuai bernama "kupon" yang tergolong dalam taksonomi adat "plugin" dan "tema".
Dalam artikel ini kita melihat bagaimana fungsi Get_Posts berfungsi, pelbagai parameter yang disokongnya, melingkari hasil yang dikembalikan dan beberapa kes penggunaan sampel. Fungsi get_posts adalah salah satu fungsi WordPress yang paling banyak digunakan, saya harap anda kini boleh mula menggunakan projek anda sendiri.
Kedua -dua get_posts dan wp_query digunakan untuk mengambil jawatan dari pangkalan data WordPress anda. Walau bagaimanapun, mereka berbeza dalam penggunaan dan fleksibiliti mereka. GET_POSTS adalah fungsi yang lebih mudah, sesuai untuk pemula dan untuk situasi di mana anda hanya perlu mengambil set jawatan tertentu. Sebaliknya, WP_Query lebih kuat dan fleksibel. Ia membolehkan pertanyaan yang lebih kompleks dan memberi anda lebih banyak kawalan ke atas gelung WordPress. Walaupun get_posts lebih mudah digunakan, WP_Query menyediakan ciri -ciri yang lebih canggih untuk menyesuaikan pertanyaan anda.
Anda boleh mengawal bilangan jawatan yang dikembalikan oleh get_posts dengan menggunakan parameter 'NumberPosts'. Secara lalai, ia ditetapkan kepada 5. Jika anda ingin mengambil semua jawatan, anda boleh menetapkan 'NumberPosts' ke -1. Sebagai contoh, untuk mendapatkan 10 jawatan, anda akan menggunakan: get_posts (array ('numberposts' => 10)); boleh menggunakan get_posts untuk mendapatkan jenis pos tersuai. Anda hanya perlu menentukan parameter 'post_type' dalam pertanyaan anda. Contohnya, jika anda mempunyai jenis pos tersuai yang disebut 'produk', anda boleh mengambil siaran ini dengan: get_posts (array ('post_type' => 'produk'); Dengan get_posts?
Ya, anda boleh menggunakan get_posts untuk mendapatkan jawatan dari kategori tertentu. Anda hanya perlu menentukan parameter 'kategori' dalam pertanyaan anda. Sebagai contoh, untuk mendapatkan jawatan dari kategori dengan ID 3, anda akan menggunakan: get_posts (array ('kategori' => 3)); >
Untuk mengambil jawatan dari pelbagai kategori, anda boleh lulus pelbagai ID kategori ke parameter 'kategori'. Sebagai contoh, untuk mendapatkan jawatan dari kategori dengan ID 3 dan 4, anda akan menggunakan: get_posts (array ('kategori' => array (3, 4))); Catatan oleh pengarang tertentu? Untuk mengambil jawatan yang mengandungi nilai meta tertentu, anda boleh menggunakan parameter 'meta_key' dan 'meta_value'. Sebagai contoh, untuk mendapatkan jawatan yang mempunyai kunci meta 'warna' dan nilai meta 'biru', anda akan menggunakan: get_posts (array ('meta_key' => 'color', 'meta_value' => 'biru') ); Anda hanya perlu menentukan parameter 'Tag' dalam pertanyaan anda. Sebagai contoh, untuk mendapatkan jawatan yang mempunyai tag 'wordpress', anda akan menggunakan: get_posts (array ('tag' => 'wordpress'));
Atas ialah kandungan terperinci Meneroka Fungsi Get_Posts WordPress. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!