- Fungsi get_posts () dalam WordPress digunakan untuk mengambil jawatan dari pangkalan data dengan menggunakan penapis tersuai dan menyusun hasil akhir berdasarkan satu set parameter. Ia mengembalikan pelbagai objek WP_POST, masing -masing mewakili jawatan individu.
- Fungsi get_posts () lebih disukai daripada objek WP_Query kerana yang terakhir mengubah gelung utama, yang berpotensi menyebabkan isu tapak. Fungsi get_posts () dan get_pages () berfungsi kedua -duanya mengambil jawatan, tetapi berbeza dalam nama parameter, nilai, dan kaedah pengambilan semula.
- Fungsi get_posts () menerima pelbagai parameter untuk memohon penapis tersuai dan menyusun hasil. Parameter ini termasuk posts_per_page, paged, tax_query, orderby, order, exclude, meta_key, meta_value, post_type, dan post_status.
- Fungsi get_posts () boleh digunakan untuk mengambil jawatan yang paling popular, jawatan rawak, jawatan dengan kunci dan nilai meta yang sepadan, dan jawatan jenis pos tersuai dengan nama taksonomi tersuai. Keputusan yang dikembalikan kemudian dilingkari untuk kegunaan selanjutnya.

apakah fungsi get_posts ()?
Fungsi get_posts telah tersedia di WordPress Core sejak WordPress 1.2.0. Fungsi ini pada dasarnya digunakan untuk mengambil jawatan dari pangkalan data dengan menggunakan penapis tersuai dan menyusun hasil akhir berdasarkan satu set parameter.
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?
Plugin Gunakan fungsi get_posts dan bukannya objek WP_Query kerana menggunakan objek WP_Query secara langsung mengubah gelung utama (iaitu, pembolehubah $ WP_Query global) yang akan menyebabkan isu tapak.
Apakah perbezaan antara fungsi get_posts () dan get_pages ()?
kedua -duanya digunakan untuk mengambil jawatan dari pangkalan data WordPress, bagaimanapun, berikut adalah beberapa perbezaan di antara mereka:
- Beberapa nama dan nilai parameter berbeza di antara mereka. Walaupun mereka berkelakuan dengan cara yang sama tanpa mengira nama parameter.
- fungsi get_pages () pada masa ini tidak mengambil jawatan berdasarkan meta_key dan parameter meta_value.
- Fungsi get_pages () tidak menggunakan objek WP_Query. Sebaliknya, ia membina dan melaksanakan pertanyaan SQL secara langsung.
get_posts () Parameter fungsi
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></span>
Terdapat lebih banyak parameter yang tersedia, tetapi ini adalah yang paling biasa digunakan. Mari lihat setiap parameter ini:
- posts_per_page: Parameter ini mentakrifkan bilangan jawatan untuk kembali. Gunakan -1 jika anda mahu semua jawatan.
- paged: Membolehkan kami menavigasi antara satu set jawatan semasa menggunakan parameter Posts_per_page. Ia digunakan untuk penomboran. Sebagai contoh: Katakan posts_per_page adalah 10 dan terdapat 20 jawatan dalam hasilnya, maka jika anda memberikan paged kepada 2 maka 10 jawatan terakhir dikembalikan.
- tax_query: Paparkan jawatan taksonomi tertentu slug i.e., menapis jawatan slug taksonomi yang lain. Terma boleh mengambil rentetan yang dipisahkan koma yang mewakili pelbagai slug taksonomi.
- Orderby: Ia digunakan untuk menyusun jawatan yang diambil. Sesetengah nilai yang mungkin adalah: "Tiada", "Tarikh", "Rand", "Comment_Count", "Meta_Value", "META_VALUE_NUM" dan lain -lain Semasa menyusun menggunakan "meta_value" dan "meta_value_num", anda perlu menyediakan parameter meta_key.
- Pesanan: Menetapkan Perintah Menaik atau Menurun Parameter Orderby. Nilai yang mungkin adalah "desc" atau "asc".
- tidak termasuk: Ia memerlukan senarai koma yang dipisahkan dari ID pos yang akan dikecualikan daripada carian pangkalan data.
- meta_key dan meta_value: Jika anda hanya menyediakan meta_key, maka jawatan yang mempunyai kunci akan dikembalikan. Jika anda juga menyediakan meta_value maka posting yang sepadan dengan meta_value untuk meta_key dikembalikan.
- post_type: Mendapatkan kandungan berdasarkan pos, halaman atau jenis post tersuai. Ingat bahawa post_type lalai hanya ditetapkan untuk memaparkan siaran tetapi bukan halaman.
- Post_Status: Mendapatkan jawatan dengan status jawatan. Nilai yang mungkin adalah: "menerbitkan", "menunggu", "draf", "masa depan", "mana -mana" atau "sampah".
Objek WP_POST
Fungsi get_posts mengembalikan array yang mengandungi objek WP_POST. Berikut adalah sifat penting objek WP_POST:
- id: id jawatan
- post_author: nama pengarang jawatan
- post_type: jenis jawatan
- post_title: tajuk jawatan
- post_date: Tarikh di mana jawatan telah diterbitkan. Format: 0000-00-00 00:00:00
- post_content: kandungan jawatan.
- post_status: Status jawatan
- COMMENT_COUNT: Bilangan komen untuk jawatan
Contoh get_posts
mari kita periksa beberapa contoh menggunakan fungsi get_posts.
jawatan paling popular
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></span>
di sini, kami menggunakan parameter Orderby untuk menyusun jawatan berdasarkan bilangan komen, mengambil 10 jawatan teratas.
Random Posts
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 id="post-gt-post-title">" . $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></span>
Dalam contoh di atas, kami lulus nilai rand ke parameter order_by.
jawatan dengan kunci dan nilai meta yang sepadan
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 id="post-gt-post-title">" . $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></span>
di sini, kami mengambil semua jawatan yang dikaji semula oleh "NarayanPrusty". Kami menganggap nama pengulas disimpan melalui "pengulas" kunci meta untuk setiap jawatan.
jenis pos tersuai dengan taksonomi tersuai
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 id="post-gt-post-title">" . $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></span>
Dalam contoh ini, kami mengambil semula jawatan jenis post tersuai bernama "kupon" yang tergolong dalam taksonomi adat "plugin" dan "tema".
Kesimpulan
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.
Soalan Lazim (Soalan Lazim) Mengenai Fungsi WordPress Get_Posts
Apakah perbezaan antara get_posts dan wp_query dalam wordpress?
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.
Bagaimana saya boleh mengubah suai bilangan jawatan yang dikembalikan oleh get_posts?
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?
Anda boleh menyusun jawatan yang dikembalikan oleh get_posts dengan menggunakan parameter 'orderby' dan 'order'. 'Orderby' menentukan medan untuk menyusun, dan 'perintah' menentukan perintah penyortiran (ASC untuk menaik dan DESC untuk turun). Sebagai contoh, untuk menyusun jawatan mengikut tajuk dalam urutan menaik, anda akan menggunakan: get_posts (array ('orderby' => 'tajuk', 'order' => 'asc'); Untuk mengambil jawatan dari kategori tertentu?
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?Ya, anda boleh menggunakan get_posts untuk mendapatkan jawatan oleh pengarang tertentu. Anda hanya perlu menentukan parameter 'pengarang' dalam pertanyaan anda. Sebagai contoh, untuk mendapatkan jawatan oleh pengarang dengan ID 1, anda akan menggunakan: get_posts (array ('pengarang' => 1)); ?
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'));
Bagaimana saya boleh mengambil jawatan dari julat tarikh tertentu menggunakan get_posts?
Atas ialah kandungan terperinci Meneroka Fungsi Get_Posts WordPress. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Memilih persekitaran pembangunan bersepadu yang betul (IDE) untuk pembangunan WordPress Selama sepuluh tahun, saya telah meneroka pelbagai persekitaran pembangunan bersepadu (IDES) untuk pembangunan WordPress. Variasi semata -mata - bebas dari komersial, asas untuk FEA

Tutorial ini menunjukkan membina plugin WordPress menggunakan prinsip pengaturcaraan berorientasikan objek (OOP), memanfaatkan API Dribbble. Mari kita memperbaiki teks untuk kejelasan dan kesimpulan sambil memelihara makna dan struktur asal. Objek-ori

Amalan terbaik untuk meluluskan data PHP ke JavaScript: Perbandingan WP_LOCALIZE_SCRIPT dan WP_ADD_INLINE_SCRIPT Menyimpan data dalam rentetan statik dalam fail PHP anda adalah amalan yang disyorkan. Sekiranya data ini diperlukan dalam kod JavaScript anda, incorporat

Panduan ini menunjukkan bagaimana untuk membenamkan dan melindungi fail PDF dalam jawatan WordPress dan halaman menggunakan plugin PDF WordPress. PDFS menawarkan format yang mesra pengguna dan boleh diakses secara universal untuk pelbagai kandungan, dari katalog ke persembahan. Kaedah ini ENS


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Dreamweaver Mac版
Alat pembangunan web visual

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),
