cari
RumahTutorial CMSWordTekanMeneroka Fungsi Get_Posts WordPress

Meneroka Fungsi Get_Posts WordPress

Takeaways Key

    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.
Banyak plugin WordPress mengambil jawatan dari pangkalan data dengan menyesuaikan perintah penyortiran, mengambil jawatan berdasarkan kunci meta atau taksonomi tertentu. Pernahkah anda tertanya -tanya bagaimana plugin ini mengambil senarai jawatan yang disesuaikan tanpa menulis sebarang pertanyaan SQL? Dalam tutorial ini kita akan belajar bagaimana untuk melakukannya dengan tepat.

Meneroka Fungsi Get_Posts WordPress Dalam artikel ini kita akan meneroka fungsi get_posts () dengan beberapa contoh cara menggunakannya dalam projek anda sendiri. Kami juga akan meliputi beberapa kes penggunaan biasa untuk fungsi ini dan bagaimana ia berbeza dari objek WP_Query dan fungsi get_pages.

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:

  1. posts_per_page: Parameter ini mentakrifkan bilangan jawatan untuk kembali. Gunakan -1 jika anda mahu semua jawatan.
  2. 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.
  3. 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.
  4. 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.
  5. Pesanan: Menetapkan Perintah Menaik atau Menurun Parameter Orderby. Nilai yang mungkin adalah "desc" atau "asc".
  6. tidak termasuk: Ia memerlukan senarai koma yang dipisahkan dari ID pos yang akan dikecualikan daripada carian pangkalan data.
  7. 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.
  8. post_type: Mendapatkan kandungan berdasarkan pos, halaman atau jenis post tersuai. Ingat bahawa post_type lalai hanya ditetapkan untuk memaparkan siaran tetapi bukan halaman.
  9. 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:

  1. id: id jawatan
  2. post_author: nama pengarang jawatan
  3. post_type: jenis jawatan
  4. post_title: tajuk jawatan
  5. post_date: Tarikh di mana jawatan telah diterbitkan. Format: 0000-00-00 00:00:00
  6. post_content: kandungan jawatan.
  7. post_status: Status jawatan
  8. COMMENT_COUNT: Bilangan komen untuk jawatan

Contoh get_posts

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></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?

Untuk mengambil jawatan dari julat tarikh tertentu, anda boleh menggunakan parameter 'date_query'. Parameter ini menerima pelbagai tatasusunan, dengan setiap array dalaman yang menentukan klausa pertanyaan tarikh. Sebagai contoh, untuk mendapatkan jawatan dari Januari 2020, anda akan menggunakan: get_posts (array ('date_query' => array (array ('year' => 2020, 'month' => 1)));

Atas ialah kandungan terperinci Meneroka Fungsi Get_Posts WordPress. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Adakah WordPress baik untuk membuat laman web portfolio?Adakah WordPress baik untuk membuat laman web portfolio?Apr 26, 2025 am 12:05 AM

Ya, wordpressisexcellentforcreatingaportfoliowebsite.1) itoffersnumerousportfolio-specificthemeslike'astra'foreasycustomization.2) Pluginssuchas'elementor'enableInduitedesign, mindoomanycanslowthesite.3)

Apakah kelebihan menggunakan WordPress ke atas pengekodan laman web dari awal?Apakah kelebihan menggunakan WordPress ke atas pengekodan laman web dari awal?Apr 25, 2025 am 12:16 AM

WordPressisAdvantageousovercodingawebsiteFromScratchdueto: 1) EaseOfuseandFasterDevelopment, 2) flexibilityandscalability, 3) strongCommunitySupport, 4) terbina dalam-inseoandmarketingtools, 5) COST-INSEFECTIFITYS

Apa yang menjadikan WordPress sebagai sistem pengurusan kandungan?Apa yang menjadikan WordPress sebagai sistem pengurusan kandungan?Apr 24, 2025 pm 05:25 PM

WordPressisAcmsDuetoitSeSeAfuse, penyesuaian, usermanagement, SEO, dan komandoSupport.1) ITImplifiesContentManagementelmithanintuitiveInterface

Cara Menambah Kotak Komen ke WordPressCara Menambah Kotak Komen ke WordPressApr 20, 2025 pm 12:15 PM

Dayakan komen di laman web WordPress anda untuk menyediakan pelawat dengan platform untuk mengambil bahagian dalam perbincangan dan berkongsi maklum balas. Untuk melakukan ini, ikuti langkah -langkah ini: Dayakan komen: Di papan pemuka, navigasi ke Tetapan & GT; Perbincangan, dan pilih kotak semak Comment Comments. Buat borang komen: Dalam editor, klik Tambah Blok dan cari Blok Komen untuk menambahkannya ke kandungan. Borang komen tersuai: Sesuaikan blok komen dengan menetapkan tajuk, label, pemegang tempat, dan teks butang. Simpan Perubahan: Klik Kemas Kini untuk menyimpan kotak komen dan tambahkannya ke halaman atau artikel.

Cara menyalin sub-tapak dari WordPressCara menyalin sub-tapak dari WordPressApr 20, 2025 pm 12:12 PM

Bagaimana cara menyalin subsite WordPress? Langkah-langkah: Buat sub-tapak di tapak utama. Menglonkan sub-tapak di tapak utama. Import klon ke lokasi sasaran. Kemas kini nama domain (pilihan). Plugin dan tema berasingan.

Cara Menulis Tajuk WordPressCara Menulis Tajuk WordPressApr 20, 2025 pm 12:09 PM

Langkah -langkah untuk membuat tajuk tersuai di WordPress adalah seperti berikut: Edit fail tema "header.php". Tambahkan nama dan keterangan laman web anda. Buat menu navigasi. Tambah bar carian. Simpan perubahan dan lihat tajuk tersuai anda.

Cara memaparkan komen WordPressCara memaparkan komen WordPressApr 20, 2025 pm 12:06 PM

Dayakan komen di laman web WordPress: 1. Log masuk ke panel admin, pergi ke "Tetapan" - "Perbincangan", dan periksa "Benarkan komen"; 2. Pilih lokasi untuk memaparkan komen; 3. Sesuaikan komen; 4. Menguruskan komen, meluluskan, menolak atau memadam; 5. menggunakan & lt ;? php comments_template (); ? & gt; tag untuk memaparkan komen; 6. Membolehkan komen bersarang; 7. Laraskan bentuk komen; 8. Gunakan plugin dan kod pengesahan untuk mengelakkan komen spam; 9. Menggalakkan pengguna menggunakan gravatar avatar; 10. Buat komen untuk dirujuk

Cara memuat naik kod sumber untuk WordPressCara memuat naik kod sumber untuk WordPressApr 20, 2025 pm 12:03 PM

Anda boleh memasang pemalam FTP melalui WordPress, konfigurasikan sambungan FTP, dan kemudian muat naik kod sumber menggunakan Pengurus Fail. Langkah-langkah termasuk: memasang pemalam FTP, mengkonfigurasi sambungan, melayari lokasi muat naik, memuat naik fail, dan memeriksa bahawa muat naik berjaya.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

mPDF

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),

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.