Interogare după formatul postului
tax_query
argument pentru WP_Query
. Pentru a interoga toate postările cu formatul de cotație, ne-am crea WP_Query
asa:$ args = array ('post_type' => 'post', 'tax_query' => array (array ('taxonomy' => 'post_format', 'field' => -quote ',))); $ query = noua valoare WP_Query ($ args);
Rețineți că în exemplul de mai sus, termenul este prefixat cu "post-format-". De asemenea, rețineți că putem trece un șir de termeni la argumentul termenilor din tax_query
pentru a interoga mai multe formate.
Dacă aveți o mulțime de postări pe site-ul dvs. în câteva formate postate, probabil că doriți să evidențiați fiecare format. De exemplu, dacă sunteți un artist vizual care utilizează blogul dvs. pentru a afișa videoclipurile și imaginile dvs. și utilizează formate postale, puteți crea un meniu cu postările dvs. video și imagine formatate separat.
Primul pas este de a crea o serie de argumente pentru WP_Query
, la fel ca cel pe care ți-am arătat-o mai sus, cu excepția acestui moment fără formatul postului specific specificat în argumentul "termeni" din tax_query
și o serie de formate, împreună cu etichetele de utilizat în meniul de ieșire.
Iata cum arata aceste doua tablouri:
// arhivare array ('taxonomy' => 'post_format', 'field' => 'post_type' => 'post' slug ",))); // formatele pentru a afișa $ formats = array (array ('name' => 'video', 'label' => 'Video' ),);
Cu aceste două matrice, putem crea un a pentru fiecare
buclă din a doua matrice, pentru a căuta postări cu formatul curent și pentru a afișa o listă a postărilor. Aceasta va implica, în fiecare iterație a buclă, adăugarea argumentului termenilor utilizând a stabilit()
, crearea unei instanțe WP_Query
, înlăturați-o prin ea, apoi dezactivați argumentul termenilor.
În interiorul WP_Query
în timp ce bucla pe care o putem folosi get_term_link ()
pentru a crea un link către pagina de arhivare a formatului postului, care este într-adevăr o arhivă cu termeni de taxonomie. Pentru posturile individuale, putem folosi get_permalink ()
pentru a crea linkul către postare. Iată cum arată bucla:
echo "„;
Asigurați-vă că adăugați clase suplimentare sau coduri de identificare la marcaj pentru a face acest cod generic să arate ca un meniu în tema dvs. și nu ezitați să înlocuiți formatele afișate în funcție de nevoile dvs..
Acum, că aveți un meniu pentru formatele postate, puteți să excludeți postările anumitor formate din indexul principal al blogului dvs. Acest lucru vă va permite să utilizați blogul ca blog și meniul postului pentru a evidenția videoclipuri, imagini, fișiere audio sau alte postări formatate.
Pentru a păstra postările de un anumit format, va trebui să utilizați a pre_get_post
filtrați pentru a adăuga o tax_query
la interogarea principală. tax_query
va arăta similar cu cele pe care le-am arătat deja, dar va avea un argument suplimentar pentru a exclude postările cu formatul, folosind argumentul "operator". Prin setarea operatorului la "NU IN", posturile corespunzătoare vor fi excluse.
Această interogare va fi, de asemenea, înfășurată în condiționată este acasa()
pentru a vă asigura că afectează numai indicele principal al blogului.
Iată ce arată funcția de acțiune și callback:
add_action ('pre_get_posts', 'slug_no_videos_home'); ($ query => is_home () && $ query-> is_main_query ()) $ tax_query = array (array ('taxonomy' => 'post_format' , 'terms' => 'post-format-video', 'operator' => 'NOT IN',)); $ query-> set ('tax_query', $ tax_query); return $ query;
După cum puteți vedea în apelul de apel, definim a tax_query
, folosind NU ÎN
operator și apoi utilizați metoda setată pentru a adăuga tax_query
la interogarea principală a indexului blogului.
Prin această serie de cinci părți, ați învățat ce formate postate sunt, cum să adăugați suport pentru ele la tema dvs., cum să le utilizați în bucla, să le vizați cu CSS personalizat, să le actualizați în bloc și să le folosiți ca organizarea conținutului instrument.
Înarmat cu aceste cunoștințe, puteți crea teme puternice care să facă portabilitatea datelor o briză.