WP_Query

Aktualizováno 12. prosince 2019

WP_Query je PHP třída v WordPress, který načte obsah z databáze. Vývojáři spoléhají na WP_Query při vytváření vlastních seznamů obsahu, které se zobrazují na front-endu webu.

abychom pochopili, jak WP_Query funguje, podívejme se na příklad. Tady je stránka, která se zobrazí tři „povýšen“ zájezdy:

Prohlížení výlety na frontend
Prohlížení výlety na frontend

musíte použít WP_Query k načtení těchto turné příspěvky z databáze. Ukážeme, jak vytvořit tento seznam dvěma způsoby:

  1. Pomocí WP_Query přes PHP kód (vyžaduje programování)
  2. Pomocí WP_Query pomocí Nástrojů GUI (žádné programování potřeba)

Pomocí WP_Query s PHP code

kód níže je dotaz součástí. Zde WP_Query načte tři náhodné „prohlídky“ z databáze, které odpovídají kritériím.

nejprve kód vytvoří pole argumentů ($args), které obsahuje všechny podrobnosti dotazu, který potřebujeme spustit. Poté zavoláme třídu WP_Query a požádáme ji, aby vrátila položky (prohlídky), které odpovídají argumentům.

function display_promoted_tours(){ // Create an array of arguments, which will tell WP_Query what information to load from the database $args = array( 'post_type' => 'tours', 'post_status' => 'publish', 'limit' => 3, 'orderby' => 'rand', 'tax_query' => array( 'relation' => 'AND', array( 'taxonomy' => 'tour-status', 'field' => 'slug', 'terms' => array( 'promoted' ), 'operator' => 'IN' ) ), 'meta_query' = array( 'relation' => 'AND', array( 'key' => 'wpcf-valid-until', 'value' => strtotime( 'today 00:00' ), 'type' => 'NUMERIC', 'compare' = '>' ) ) ); // Call WP_Query and load the content from the database $my_query = new WP_Query( $args ); // Now display the "tours" if ( $my_query->have_posts() ) : while ( $my_query->have_posts() ) : $my_query->the_post(); echo "<div class='card'>"; if ( has_post_thumbnail() ) : echo "<a href='" . get_the_permalink() . "' title='" . the_title(null,null,false) . "'>" . get_the_post_thumbnail() . "</a>"; endif; echo the_title( '<h3>', '</h3>', false); echo "<button class='button-style'><a href='" . get_the_permalink() . "'>Learn more</button>"; echo "</div>"; endwhile; wp_reset_postdata(); endif;}

Nyní máte kód, který načte obsah z databáze a zobrazí jej na front-endu. Posledním krokem je přidání tohoto kódu do jedné ze šablon motivu, aby se spustil na stránce, kde se má zobrazit.

K tomu, budete muset následovat tyto kroky:

  • Vytvořit child theme, tak, že nemusíte přímo upravovat soubory motivu (což budoucí aktualizaci problémy)
  • Zkopírujte téma stránek.php šablony a přejmenujte ji
  • Upravte nový soubor šablony a volání display_promoted_tours z
  • Z WordPress admin, upravit stránku, která by měla ukázat, tento seznam zájezdů a nastavte ji používat nové šablony

Tento proces funguje, ale jak můžete vidět, to vyžaduje notnou dávku kódování a ladění. Pokud vás zajímá verze tohoto procesu bez PHP, což trvá minuty místo dnů, pokračovat ve čtení.

Vytvořte dotaz pomocí GUI sady nástrojů

Použijme stejný příklad cestovních webových stránek jako výše a vytvořte dotaz pomocí sady nástrojů místo kódování PHP.

níže je stejný příklad jako výše, ale tentokrát bez použití kódování-jen sada nástrojů.

  1. Vložit Názory editor bloku, kde chcete, seznam se objeví
  2. Zvolte, jaký obsah chcete načíst
  3. Navrhnout, jak bude seznam vypadat

V tomto příkladu zobrazuje výsledky dotazu jako mřížka. Vaše názory mohou zobrazovat výsledky jakýmkoli způsobem, dokonce i jako značky na mapách.

přidání stránkování do dotazů

Chcete-li vytvořit dlouhý seznam obsahu, můžete jej rozdělit přidáním stránkování.

Zobrazit s stránkování
Zobrazit s stránkování

zobrazit výsledky na stránkách, namísto jednoho dlouhého seznamu, budete muset:

  1. Povolit stránkování pro Zobrazení
Umožňuje stránkování v Zobrazení bloku
Umožňuje stránkování v Zobrazení bloku

  1. Design ovládací prvky pro stránkování
Navrhování ovládací prvky pro stránkování
Navrhování ovládací prvky pro stránkování

Vytvoření vlastní vyhledávání

Kromě toho, že zobrazuje výsledky jako seznam, můžete také použít dotazy vybudovat vlastní vyhledávání. Vlastní vyhledávání přidává ovládací prvky front-end, které umožňují uživatelům filtrovat výsledky a najít přesný obsah, který hledají.

Budování vlastní vyhledávání
Budování vlastní vyhledávání pomocí WordPress Editor bloků
Pomocí vlastní vyhledávání na frontend
Pomocí vlastní vyhledávání na frontend

Zobrazení výsledků dotazu na mapě

Pokud vaše příspěvky mají vlastní Adresu pole, můžete zobrazit je na mapě.

Zobrazení výsledků dotazu na mapě
Zobrazení výsledků dotazu na mapě

Omezení a filtrování dotazů

dotazy, které budete stavět nemusíte načíst z databáze všechny položky typu, který jste vybrali. Můžete omezit a filtrovat dotazy a vrátit přesné výsledky, které chcete získat.

můžete například vytvářet dotazy, které:

  • Návrat prvních několika výsledky
  • Filtrovat výsledky podle hodnot vlastních polí a taxonomie
  • Filtrovat výsledky podle post vztah
  • Filtrovat výsledky podle vstupů na front-end (vytvořit vlastní vyhledávání)
Omezení a filtrování dotazů
Omezení a filtrování dotazů

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.

Previous post boční pozici ureterorenoscopy: nové poziční přístup k pomoci v retrográdní caliceal léčba kamene
Next post RC Flying Field