Loncat ke Konten Utama

Cara yang benar menggunakan WP_Query di WordPress

Divi: tema WordPress termudah untuk digunakan

Divi: Tema WordPress terbaik sepanjang masa!

lebih 600.000 unduhan, Divi adalah tema WordPress paling populer di dunia. Sudah lengkap, mudah digunakan dan dilengkapi dengan lebih dari 62 template gratis. [Direkomendasikan]

Saya penggemar berat kelas WP_Query: Saya menggunakannya di beberapa situs web klien untuk mengambil dan menampilkan data dengan cara yang dipersonalisasi.

Jika Anda ingin menggunakan banyak loop pada halaman, cara terbaik untuk melakukannya adalah dengan menjalankan "WP_Query" setiap kali Anda harus mengulang.

Tetapi ada satu kelemahan: Setiap kali WordPress menjalankan loop, ia mengirimkan pertanyaan ke database, yang membutuhkan waktu lebih lama dan dapat memperlambat situs web Anda.

Dalam tutorial ini, saya akan menunjukkan kepada Anda bagaimana menggunakan kueri untuk lebih dari satu loop. Anda dapat melakukan ini dengan permintaan utama atau Anda dapat menggunakan teknik yang sama dengan WP_Query.

Kami akan menjelajahi aspek 3:

  • Buat tema anak dan file template.
  • Buat bagian template untuk konten loop.
  • Buat loop kami.

Tapi sebelum kita temukan bersama Bagaimana menginstal sebuah blog WordPress langkah 7 et Bagaimana menemukan, menginstal dan mengaktifkan tema WordPress di blog Anda

Lalu kembali ke mengapa kita ada di sini.

Apa yang kamu butuhkan

Untuk mengikuti tutorial ini, Anda akan perlu:

  • Dari instalasi WordPress untuk pengembangan (lokal).
  • Editor kode.
  • Artikel di situs web Anda dengan beberapa kategori ditugaskan
  • tema WordPress dua puluh enam belas
  • Tema anak dua puluh enam belas diinstal dan diaktifkan

Teknik ini juga cocok dengan situasi Anda, dan tema WordPress Anda.

Menciptakan tema anak

Pertama, kita akan membuat tema anak dua puluh enam belas. Saya melakukan ini karena saya tidak ingin mengubah tema induk.

Temukan Bagaimana menginstal tema anak WordPress

Dalam folder "wp-content / themes" Anda, buat folder kosong baru, yang akan Anda sebut "tutor-theme". Anda nanti dapat memilih nama yang cocok untuk Anda.

Di folder ini, buat file bernama style.css dan tambahkan kode berikut:

/*

Nama Tema: Tema Tuto

Tema URI: https://blogpascher.com

Deskripsi: Tema untuk mendukung Tutorial cara menjalankan banyak loop sambil menanyakan database hanya sekali. Tema anak untuk tema Twenty Sixteen.

Penulis: Hervé

Penulis URI: https://blogpascher.com

Templat: twentysixteen

Versi: 1.0

*/

@import url ("../twentysixteen/style.css");

Sekarang simpan file ini dan aktifkan tema WordPress baru Anda.

Langkah selanjutnya adalah membuat file templat untuk kategori, itulah yang akan kita kerjakan.

Buat salinan file "archive.php" dari tema WordPress "Twenty Sixteen". Jangan pindahkan, tapi buat salinan. Ganti nama itu "category.php".

Untuk melangkah lebih jauh, temukan Bagaimana mengelola file dan folder WordPress

Ini sekarang akan menjadi file templat untuk kategori situs web Anda.

Membuat file templat baru

Langkah pertama adalah membuat file templat baru dalam tema kami yang akan berisi versi modifikasi dari loop "twenty sixteen".

Mari juga berkonsultasi bersama Cara menempatkan situs WordPress Anda dalam mode Pemeliharaan

Di folder tema anak, buat subfolder yang disebut "termasuk". Dan di dalam, buat file baru bernama "loop-category.php".

Selanjutnya, buka file "templat-parts / content.php" dari folder tema induk (dua puluh enam belas) dan temukan kode berikut:

<article id = "post - <? php the_ID (); ?> "<? Php post_class (); ? >>

<header class = "entry-header">

<? php if (is_sticky () && is_home () &&! is_paged ()):?>

<span class = "sticky-post"> <? php _e ('Unggulan', 'twentysixteen'); ?> </ Span>

<? php endif; ?>

<? php the_title (sprintf ('<h2 class = "entry-title"> <a href="%s »rel="bookmark">' esc_url (get_permalink ())), '</a> </ h2 > '); ?>

</ header> <! - .entry-header ->

<? php twentysixteen_excerpt (); ?>

<? php twentysixteen_post_thumbnail (); ?>

<div class = "entry-content">

<? Php

/ * penerjemah:% s: Nama tulisan saat ini * /

the_content (sprintf (

__ ('Lanjutkan membaca <span class =' ​​screen-reader-text '>'% s '</ span>', 'twentysixteen'),

get_the_title ()

));

wp_link_pages (array (

'before' => '<div class = "page-links"> <span class = "page-links-title">'. __ ('Halaman:', 'twentysixteen'). </ Span>',

'after' => '</ div>',

'link_before' => '<span>',

'link_after' => '</ span>',

Apakah Anda mencari tema dan plugin WordPress terbaik?

Unduh plugin terbaik dan tema WordPress di Envato dan buat situs web Anda dengan mudah. Sudah lebih dari 49.720.000 unduhan. [EKSKLUSIF]

'pagelink' => '<span class = "screen-reader-text">'. __ ('Halaman', 'twentysixteen'). '</ span>%',

'separator' => '<span class = "screen-reader-text">, </ span>',

));

?>

</ div> <! - .entry-content ->

<footer class = "entry-footer">

<? php twentysixteen_entry_meta (); ?>

<? Php

edit_post_link (

sprintf (

/ * penerjemah:% s: Nama tulisan saat ini * /

__ ('Edit <span class = "screen-reader-text"> "% s" </ span>', 'twentysixteen'),

get_the_title ()

),

'<span class = "edit-tautan">',

</ Span> '

);

?>

</ footer> <! - .entry-footer ->

</ article> <! - #post - ## ->

Salin kode ini ke file "loop-category.php" baru dari tema anak.

Mengedit file templat-bagian

Loop "dua puluh enam belas" menampilkan lebih dari yang saya butuhkan, jadi saya akan mengubah kode ini. Saya hanya ingin menunjukkan cuplikan dan bukan kontennya, jadi kami akan menghapus kontennya.

Apa perbedaan antara H1 dan judul SEO dari artikel WordPress? Cari tahu dengan membaca artikel ini.

Di file loop-category.php baru Anda, cari kode ini dan hapus kode ini:

<div class = "entry-content">

<? Php

/ * penerjemah:% s: Nama tulisan saat ini * /

the_content (sprintf (

__ ('Lanjutkan membaca <span class =' ​​screen-reader-text '>'% s '</ span>', 'twentysixteen'),

get_the_title ()

));

wp_link_pages (array (

'before' => '<div class = "page-links"> <span class = "page-links-title">'. __ ('Halaman:', 'twentysixteen'). </ Span>',

'after' => '</ div>',

'link_before' => '<span>',

'link_after' => '</ span>',

'pagelink' => '<span class = "screen-reader-text">'. __ ('Halaman', 'twentysixteen'). '</ span>%',

'separator' => '<span class = "screen-reader-text">, </ span>',

));

?>

</ div> <! - .entry-content ->

Langkah lainnya adalah mengganti fungsi "twenty_sixteen_excerpt ()" dengan fungsi "the_excerpt ()", karena versi dua puluh enam belas tidak menyediakan tautan ke artikel lengkap.

Lihat juga Cara melihat artikel terbaru dalam kategori tertentu

Temukan baris ini:

? <Php twenty_sixteen_excerpt (); ?>

Ganti dengan ini:

? <Php the_excerpt (); ?>

Kami juga perlu membuat beberapa perubahan pada tag judul.

Di bagian model, ubah baris:

<? php the_title (sprintf ('<h2 class = "entry-title"> <a href="%s »rel="bookmark">' esc_url (get_permalink ())), '</a> </ h2 > '); ?>

Edit tag H2 untuk H3:

<? php the_title (sprintf ('<h3 class = "entry-title"> <a href="%s »rel="bookmark">' esc_url (get_permalink ())), '</a> </ h3 > '); ?>

Daftarkan model Anda. Kemudian kembali ke file category.php Anda, kami akan melanjutkannya.

Membuat loop

Pertama-tama kita akan menghapus penyertaan kode "dua puluh enam belas" dari file kita "category.php" karena kita akan perlu menggunakan file baru.

Di file category.php Anda, temukan kode ini:

get_template_part ('templat-bagian / konten', get_post_format ());

Dan hapus.

Kemudian kita akan membuat loop.

Dalam contoh ini, saya akan menampilkan semua artikel dengan tag "konten", menggunakan tag kondisional "has_tag ()". Ini berarti bahwa saya harus melalui tiga loop:

  • Pemeriksaan pertama apakah kueri telah memposting item dengan tag ini.
  • Jika demikian, yang kedua menampilkan artikel dengan label ini.
  • Yang ketiga menampilkan artikel tanpa tag ini.

Buat situs web Anda dengan Elementor dengan mudah

Elementor memungkinkan Anda untuk dengan mudah membuat desain situs web apa pun dengan tampilan profesional. Berhentilah membayar mahal untuk apa yang dapat Anda lakukan sendiri. [Gratis]

Di antara setiap loop, saya akan menggunakan rewind_posts () untuk memundurkan pesan tanpa mengatur ulang kueri: kami selalu bekerja dengan kueri utama setiap kali.

Loop pertama: Verifikasi artikel

Di file "category.php" Anda, temukan awal dari loop:

sementara (have_posts ()): the_post ();

Di atas baris ini, tentukan variabel baru yang disebut $ count:

$ Hitung = 0;

Lalu, di dalam loop ini, tambahkan kode ini:

// periksa apakah ada tulisan dengan tag »

$ tag = 'konten';

if (has_tag ($ tag)) {

$ count + = 1;

}

Kode ini memeriksa apakah pesan memiliki label "konten" dan kemudian menambahkan 1 ke penghitung jika ya.

Bagian dalam loop akan mirip dengan ini:

// Periksa posting di loop pertama.

$ Hitung = 0;

sementara (have_posts ()): the_post ();

// periksa apakah ada tulisan dengan tag »

$ tag = 'konten';

if (has_tag ($ tag)) {

$ count + = 1;

}

endwhile;

Loop kedua: Kembalikan artikel dengan tag

Langkah selanjutnya adalah mengulang untuk menampilkan item dengan tag ini, hanya jika ada.

Misalnya, jika nilai $ count lebih besar dari 0.

Temukan juga Bagaimana untuk menyesuaikan dashboard WordPress untuk klien

Tambahkan kondisi ini ke loop:

if ($ count> 0) {

rewind_posts ();

echo '<h2> Posting yang ditandai dengan'. $ tag. </ H2> ';

sementara (have_posts ()): the_post ();

if (has_tag ($ tag)) {

get_template_part ('include / loop', 'kategori');

}

// Akhiri loop.

endwhile;

}

Kode ini memverifikasi bahwa $ count lebih besar dari nol dan jika demikian, memundurkan item dan menjalankan loop lagi. Untuk setiap item yang diperiksa apakah itu memiliki label kami dan, jika demikian, ia menyebut bagian dari template yang baru saja kami buat.

Loop ketiga: Lihat seluruh artikel

Keluar akan menjadi putaran terakhir pada item yang tersisa. Jika kategori ini tidak memiliki artikel dengan tag "konten", maka itu akan menampilkan semua item dalam kategori tersebut.

Belajar juga Cara membuat blog multi-penulis dan memungkinkan pembaca Anda untuk mengirim artikel di blog Anda

Di loop kedua Anda, tambahkan ini:

rewind_posts ();

// Loop Kedua - posting tidak dengan tag 'konten'

sementara (have_posts ()): the_post ();

if (! has_tag ($ tag)) {

get_template_part ('include / loop', 'kategori');

}

// Akhiri loop.

endwhile; ?>

Kode terakhir ini memundurkan item dan menjalankan loop lagi. Kali ini, ia memeriksa apakah sebuah artikel tidak memiliki label "konten" lalu, itu menampilkan konten di "templat-bagian".

Buat Toko Online Anda dengan mudah

Unduh WooCommerce gratis, plugin e-commerce terbaik untuk menjual produk fisik dan digital Anda di WordPress. [GRATIS]

Kami juga menyarankan Anda untuk menemukannya Cara menambahkan opsi pencetakan artikel ke WordPress

Anda sekarang dapat menguji halaman artikel di blog Anda. Ingatlah bahwa Anda dapat mengubah filter. Dalam tutorial ini kami menggunakan "konten" sebagai filter label, tetapi Anda dapat menggunakan salah satu pilihan Anda.

Temukan juga beberapa plugin WordPress premium

Anda dapat menggunakan plugin WordPress lainnya untuk memberikan tampilan modern dan mengoptimalkan cengkeraman blog atau situs web Anda.

Kami menawarkan kepada Anda beberapa plugin WordPress premium yang akan membantu Anda melakukannya.

1. Dinding Sosial Addon untuk UserPro

UserPro dapat menjadi jauh lebih menyenangkan dengan dinding sosial. Inilah yang dibawa ekstensi Wall Sosial. Dengan ekstensi Dinding Sosial, Anda dapat membuat dinding di situs web Anda dan menawarkan anggota Anda cara menyegarkan untuk berinteraksi dengan komunitas.

Plugin WordPress Social Wall memungkinkan pengguna Anda untuk: berbagi pesan di antara mereka, berbagi gambar, mengomentari posting orang lain, pengguna mungkin suka atau tidak suka pesan, mereka dapat memilih untuk menampilkan dinding hanya untuk pengguna pengguna yang masuk atau untuk semua pengguna, administrator dapat menghapus posting atau komentar dari pengguna, dll.

Download | Demo | Hébergement Web

2. Afiliasi Flipkart Plus

Flipkart Affiliate Plus adalah plugin WordPress modular yang menghubungkan situs web WordPress Anda ke Flipkart Affiliate API.

Plugin WordPress ini memudahkan untuk mengimpor data produk dari Flipkart dan memutakhirkannya langsung ke situs web Anda. Flipkart Affiliate Plus adalah plugin WordPress pertama untuk API resmi Flipkart. Dengan menggunakannya, Anda tidak perlu menggunakan API pihak ketiga. Anda mendapat manfaat penuh dari pekerjaan Anda.

Download | Demo | Hébergement Web

3. Google Analytics yang dapat ditindaklanjuti untuk WooCommerce

Google Analytics yang dapat ditindaklanjuti adalah plugin WordPress yang memungkinkan Anda untuk menggunakan beberapa fitur terbaik dari Universal Analytics, termasuk: Enhanced Ecommerce dan Pelacakan ID Pengguna. Selain itu, plugin ini mendukung penganoniman alamat IP, penggantian produk, pengelompokan konten, pelacakan formulir, dll ...

Menggunakan plugin WordPress ini akan menghemat waktu Anda dalam mengintegrasikan kode Google Analytics yang kompleks sehingga Anda dapat fokus dalam mengelola data Anda.

Fitur utamanya adalah: instalasi cepat dan mudah, akses ke 9 meningkatkan laporan e-Commerce, kemungkinan mempelajari bagaimana berbagai perangkat digunakan oleh pengguna yang sama dan bagaimana pembelian dilakukan, kemampuan untuk menganalisis produk yang dilunasi lebih sering, akhirnya mengambil tindakan perbaikan, dan lebih banyak lagi.

Download | Demo | Hébergement Web

Sumber daya lain yang direkomendasikan

Kami juga mengundang Anda untuk berkonsultasi dengan sumber daya di bawah ini untuk melangkah lebih jauh dalam cengkeraman dan kontrol situs web dan blog Anda.

Kesimpulan

Itu dia! Itu saja untuk tutorial yang cukup teknis ini. Saya harap kami secara eksplisit tentang cara menggunakan WP_Query di WordPress dengan benar. Jangan ragu untuk melakukannya berbagi kiat dengan teman-teman Anda di jejaring sosial Anda.

Namun, Anda juga akan dapat berkonsultasi dengan kami ressources, jika Anda memerlukan lebih banyak elemen untuk melaksanakan proyek pembuatan situs Internet Anda, dengan membaca panduan kami di Pembuatan blog WordPress.

Tetapi sementara itu, beri tahu kami tentang Anda komentar dan saran di bagian khusus.

...

Artikel ini berisi komentar 7
  1. ___________ ________ _____ ____________
    | Artikel 1 | | arti 2 | | _A3_ | | |
    | __________ | | _______ | _____ | Artikel 6 |
    ______________________ | 5 | | |
    | _________ 4 _________ | | ____ | | ___________ |

  2. Hello Blair
    terima kasih untuk tutorial Parfais ini,
    Saya ingin meminta tolong sedikit tolong.
    Saya membuat tema saya sendiri wordpres (html / css) dan saya punya masalah yang akan saya coba kembangkan: Saya berencana membuat situs yang mirip dengan msn.com situs saya akan dibagi menjadi beberapa divisi (bagian ) yaitu: berita, hiburan, kesehatan, gaya hidup ... dll. artinya saya ingin merealisasikan grup Artikel pertama, dan grup kedua, ketiga ... dll. tetapi tunjukkan semua grup pada halaman yang sama dan masing-masing grup memiliki kategori (niche). Saya ingin tahu apakah kantor wordpress ini dapat mengatur konten dari setiap topik secara terpisah? dengan loop wordpress // Konten Posting maaf, tidak ada posting yang ditemukan! Saya mendapatkan campuran item:
    Artinya, artikel tertulis terakhir saya ditempatkan langsung di bagian pertama yaitu berita, padahal itu adalah artikel yang termasuk dalam gaya hidup misalnya.
    Saya menemukan halaman ini https://codex.wordpress.org/fr:La_Boucle Saya pikir bagian multi loop dapat memecahkan masalah saya!
    Saya harap Anda mengerti apa yang ingin saya katakan

    terima kasih sebelumnya atas jawaban Anda,
    Hormat kami,

    1. Halo,
      Saya pikir Anda menyulitkan tugas untuk apa-apa. Yang saya mengerti adalah bahwa Anda ingin mengatur artikel Anda ke dalam kategori (pos) dan setiap judul bisa termasuk dalam niche, yang bisa menjadi kategori orang tua. Ya, lingkaran itu bisa membantu Anda melakukannya, dan ini mengesankan dalam kesederhanaannya.
      Keberanian!

      1. Halo.
        pertama-tama terima kasih atas tanggapan cepat Anda. Saya pikir tema yang baru saya buat tidak lagi kompatibel dengan wordpress dan dari situlah masalahnya berasal.
        Sebenarnya karena komentar Anda tidak mendukung gambar terlampir yang akan saya jelaskan dengan menggambar:
        di sini adalah sebuah situs kategori
        ___________ ________ _____ ____________
        | Artikel 1 | | arti 2 | | _A3_ | | | jadi bayangkan setiap artikel
        | __________ | | _______ | _____ | Artikel 6 | diwakili oleh ubin; jadi kami punya 6
        ______________________ | 5 | | | artikel (setiap ubin berisi gambar
        | _________ 4 _________ | | ____ | | ___________ | dan judul artikel tertentu)

        Masalah sebenarnya saya, Tn. Blair, adalah bahwa saya tidak dapat menyelesaikan artikel saya sehingga mereka dapat pindah dari ubin 1 ke ubin 6, artinya ketika saya menambahkan artikel baru dan Saya mempublikasikannya Saya ingin yang kedua menggantikan artikel 1 seperti pada semua tema yang ada.
        - Saya pikir itu tidak dapat direalisasikan karena setiap posting (artikel) memiliki sifat sendiri seperti lokasi, tinggi, lebar ... dll, bagaimana menurut Anda?
        Tentu saja idenya agak tidak jelas dengan skema ini, jika tidak, saya tidak mengganggu Anda dan Anda ingin membantu saya, Anda memiliki e-mail (Anda hanya perlu mengirim e-mail yang berisi nama Anda).

        Terima kasih lagi untuk rethinks Anda

        1. Selamat malam, dalam kasus khusus ini, Anda harus melompat dengan variabel tipe "int", jadi, setiap kali loop loop, Anda menaikkan variabel dan tergantung pada nilai variabel, Anda dapat mengubah tampilan artikel. Misalnya:

          if ($ i == 1) {
          // kode Anda di sini
          } Lain jika ($ i == 2) {
          // seperti
          }
          $ I ++;

          Sayangnya, saya tidak dapat membantu Anda secara pribadi saat ini.

  3. [...] Dalam tutorial ini saya akan mengajarkan Anda bagaimana untuk menggunakannya secara lebih efektif WP_Query query pada WordPress. [...]

Tinggalkan komentar

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai *

Situs ini menggunakan Akismet untuk mengurangi yang tidak diinginkan. Pelajari lebih lanjut tentang bagaimana data komentar Anda digunakan.

Kembali ke atas
20 saham
saham18
menciak2
Register