Utilizarea imaginilor recomandate în arhivele postale este o caracteristică comună a temelor, dar uneori este posibil să doriți să utilizați imaginile prezentate într-un mod diferit. Ocazional am lucrat pe site-urile în care imaginile care trebuie afișate se referă la categoria în care se află o postare și nu la postul însuși. În loc să adăugați aceeași imagine recomandată fiecărei postări din fiecare categorie, ar fi mult mai simplu dacă aș putea atribui categoria fiecăruia dintre imaginile mele și apoi afișa imaginea recomandată pentru categoria cu post.
Exemple de momente când doriți să faceți acest lucru sunt:
În acest tutorial voi folosi câteva dintre tehnicile pe care le-am demonstrat deja în două tutoriale anterioare:
Acest tutorial va funcționa prin acești pași:
Notă: Pentru fiecare post, va fi identificată o singură categorie, iar pentru fiecare categorie va fi afișată o singură imagine (cea mai recentă).
Mă voi uita, de asemenea, cum vă puteți adapta această tehnică pentru alte pagini de arhivă, cum ar fi arhive personalizate tip post.
Pentru a urma acest tutorial, veți avea nevoie de următoarele:
Pentru a urma acest tutorial, va trebui să creați sau să modificați o temă. Am de gând să creez o temă de copil a temei Douăzeci și unu de Paști.
Iată foaia de stil:
/ * Nume temă: Imagine automată recomandată bazată pe tema URI: http://code.tutsplus.com/tutorials/add-an-automatic-featured-image-to-blog-posts-based-on-category--cms -22664 Versiune: 1.0.0 Descriere: heme să însoțească tutorialul privind adăugarea de imagini de categorii speciale la o pagină de arhivă pentru tutsplus, la http://bit.ly/14cm0ya Autor: Rachel McCollin URI autor: http://rachelmccollin.co. uk Licență: GPL-3.0 + Licență URI: http://www.gnu.org/licenses/gpl-3.0.html Calea de domenii: / lang Textul domeniului: tutsplus Template: twentyfourteen * / @import url ('... / twentyfourteen / style.css');
Acest lucru creează tema drept o temă copilărească a lui Twenty Fourteen. Dacă trebuie să știți mai multe despre crearea temelor pentru copii, aruncați o privire la pagina relevantă a Codex.
Pe măsură ce lucrați prin acest tutorial, veți crea și o functions.php
fișier pentru tema dvs. (sau editați-l pe cel existent dacă aveți deja unul în tema dvs.) și creați unul index.php
fișier prea.
Implicit, WordPress nu vă permite să atribuiți categorii atașamentelor, dar acest lucru este ușor modificat.
Dacă tema dvs. nu are deja un fișier de funcții, creați un fișier numit functions.php
și adăugați următoarele:
Salvați fișierul și accesați site-ul dvs. Mass-media ecran. Veți vedea că aceste categorii au fost adăugate în submeniul media:
Notă: Pentru mai multe despre asta, vedeți acest tutorial.
Adăugarea imaginilor de categorie
Acum trebuie să încarc câteva imagini și să le dau câte o categorie. Imaginile pe care le încărcați depind de nevoile site-ului dvs .: Am folosit culori pentru categoriile mele, așa că am găsit câteva imagini care prezintă fiecare dintre aceste culori. Am atribuit categoriile relevante, așa că asta este ceea ce am Biblioteca media se pare ca:
Acum voi adăuga câteva postări și le voi aloca categorii:
Crearea fișierului index.php
Acum, că avem postările configurate și imaginile din categorie în loc, trebuie să editați
index.php
fișier pentru a afișa imaginile prezentate în categorie.Configurarea fișierului
Va trebui fie să vă editați existența
index.php
fișier sau adăugați unul nou. Am creat unul bazat peindex.php
șablon și fișierul șabloncontent.php
includeți fișierul din tema Twenty Fourteen. Chiar acum se pare că:> ","'); ?>→', 'Douăzeci și paisprezece' ) ); wp_link_pages (array ('înainte' => '",", "'); ?>". __ ("Pagini:", "douăzeci și unsprezece"). '',' după '=>'',' link_before '=>'',' link_after '=>'',)); ?>Identificarea categoriei postului curent
Pentru a afișa imaginea categoriei relevante, va trebui să identificați în ce categorie se află postarea curentă. Va trebui să faceți acest lucru în bucla.
În primul rând, dacă lucrați cu Twenty Fourteen, eliminați funcția care afișează imaginea post prezentată. Eliminați această linie:
Imediat în interiorul deschiderii
tag, adăugați următoarele:
term_id;Aceasta creează o variabilă numită
categorie $,
a căror valoare este ID-ul primei categorii în care se află postul, folosindget_the_category ()
funcţie.Crearea de argumente pentru interogare
Acum puteți utiliza această variabilă în argumentele pentru interogarea dvs. Sub ceea ce tocmai ați adăugat, adăugați aceasta:
$ args = array ('cat' => $ categorie, 'post_status' => 'inherit', 'post_type' => 'atașament', 'posts_per_page' => '1');Aceste argumente înseamnă că interogarea dvs. va afișa doar un atașament din categoria pe care ați identificat-o deja. Rețineți că trebuie să utilizați
'Post_status'
argument deoarece atașamente implicit la'post_status' => 'moșteni'
, nu'public'
ca și alte tipuri de posturi.Acum adăugați interogarea însăși:
$ query = noua valoare WP_Query ($ args); dacă ($ query-> have_posts ()) în timp ce ($ query-> have_posts ()) $ query-> the_post (); ?>ID, "miniatură"); ?>Acest lucru pune imaginea într-o div cu
featured categorie de imagine
clasa, pe care o puteți utiliza pentru stil. Apoi utilizeazăwp_get_attachment_image ()
pentru afișarea imaginii.Acum, dacă actualizați pagina de pornire a blogului dvs., veți vedea imaginile afișate:
În acest moment este prea mult spațiu gol, deci să adăugăm ceva stil.
Modelarea imaginilor
Deschideți foaia de stil a temei și adăugați stilul pe care doriți să-l dați imaginilor. Am adăugat următoarele:
.category-featured-image float: left; margine: 10px 2%; .blog .entry-header .entry-title, .blog .entry-header .entry-meta clar: nici unul;Aceasta aduce imaginile în stânga postului:
Adaptarea acestei tehnici pentru alte tipuri de conținut
Puteți utiliza această tehnică cu alte tipuri de conținut. De exemplu:
archive- $ posttype.php
șablon pentru tipul de postare cu o buclă similară celei de mai sus.'atașament'
posturile tip la tipurile de posturi la care este înregistrată taxonomia la prima înregistrare. Veți înlocui apoi get_the_category ()
funcția cu get_the_terms ()
și argumentele categoriei pentru interogarea dvs. cu argumente de taxonomie.archive.php
dacă tema dvs. are una, astfel încât postările din arhivă să aibă și o imagine de categorie prezentată.După cum am subliniat la începutul acestui tutorial, pot exista scenarii în care, în loc să se afișeze o imagine recomandată pentru fiecare post, doriți să afișați o imagine referitoare la categoria în care se află postarea.
În acest tutorial ați învățat cum să faceți acest lucru, adăugând categorii la atașamente, identificând prima categorie pentru fiecare post în bucla dvs. și apoi creând o interogare pentru a scoate imaginea pentru acea categorie.