Cum de a adăuga posturi lipicioase în WordPress personalizate Post Type Arhive

Cum de a adăuga posturi lipicioase în WordPress personalizate Post Type Arhive / Tutoriale

Recent, unul dintre utilizatorii noștri ne-a întrebat dacă este posibil să adăugăm postări lipicioase în arhive personalizate tip post. Implicit, WordPress are funcționalitatea lipicioasă disponibilă pentru postări, dar nu pentru alte tipuri de posturi. În acest articol vă vom arăta cum să adăugați posturi lipicioase în arhivele personalizate post tip WordPress. Înainte de a merge mai departe, probabil că doriți să învățați cum să creați tipuri personalizate de posturi în WordPress.

Adăugarea de mesaje lipicioase în tipuri personalizate de postări

Primul lucru pe care trebuie să-l faceți este să instalați și să activați pluginul Sticky Custom Post Types. După activarea pluginului, mergeți la Setări »Citire și derulați în jos în secțiunea Sticky Custom Post Types. Apoi, trebuie să alegeți tipurile de postări personalizate unde doriți să fie activată această opțiune.

Acum, ceea ce am făcut aici este că am adăugat caracteristica de postări lipicioase la tipurile personalizate de postări. Mesajele lipicioase din tipurile personalizate de posturi vor fi afișate pe prima pagină, la fel ca postările obișnuite lipicioase.

Problema este că, în mod implicit, WordPress afișează numai mesaje lipicioase pe pagina de pornire. Nu afișează mesaje lipicioase pe paginile de arhivă.

Afișarea mesajelor lipicioase în arhive personalizate

Să presupunem că aveți un tip de post personalizat pentru Recenzii de filme cu postări lipicioase activate utilizând plugin-ul pe care l-am menționat mai sus. Acum doriți ca postările dvs. lipicioase din tipurile de postări de recenzii pentru filme să fie afișate în mod diferit și în partea de sus a recenziilor de filme non-lipicioase. Asa:

Pentru a atinge acest obiectiv, primul lucru de care aveți nevoie este un șablon de arhivă pentru tipul dvs. de post personalizat, după cum urmează: Arhiva-post-type.php. Aflați cum să creați o pagină de arhivă tip postare personalizată. De exemplu, dacă aveți un tip de post personalizat film comentarii atunci ar trebui să fie șablonul de pagină de arhivă Arhiva-film-reviews.php. Dacă nu aveți un șablon, creați unul. Pur și simplu copiați conținutul arhive.php în directorul temei și lipiți-le într-un fișier nou Arhiva-ta-post-type.php.

Următorul pas este să adăugați acest cod în tema proprie functions.php fişier:

 funcția wpb_cpt_sticky_at_top ($ posts) // se aplică în arhive numai dacă (is_main_query () && is_post_type_archive ()) global $ wp_query; $ sticky_posts = get_option ("sticky_posts"); $ num_posts = count ($ posturi); $ sticky_offset = 0; // Găsiți postările lipicioase pentru ($ i = 0; $ i ID, $ sticky_posts)); $ sticky_post = $ posts [$ i]; // Elimină lipicios din poziția curentă array_splice ($ posts, $ i, 1); // Mutare în față, după alte stickies array_splice ($ posts, $ sticky_offset, 0, array ($ sticky_post)); $ Sticky_offset ++; // Elimina postul din posturile lipicioase array $ offset = array_search ($ sticky_post-> ID, $ sticky_posts); dezactivat ($ sticky_posts [$ offset]);  // Căutați mai multe mesaje lipicioase dacă este necesar dacă ($ empty ($ sticky_posts)) $ stickies = get_posts (array ('post__in' => $ sticky_posts, 'post_type' => $ wp_query-> query_vars [ ], 'post_status' => 'publica', 'nopaging' => true)); foreach ($ stickies ca $ sticky_post) array_splice ($ posturi, $ sticky_offset, 0, array ($ sticky_post)); $ Sticky_offset ++;  returnați $ postări;  add_filter ('the_posts', 'wpb_cpt_sticky_at_top'); // Adăugați o clasă lipicioasă în titlu articol în postări lipicioase în stil diferit. Cpt_sticky_class ($ classes) if (is_sticky ()): $ classes [] = 'sticky'; returnează clase de $; endif; returnează clase de $;  add_filter ('post_class', 'cpt_sticky_class'); 

Codul de mai sus ar muta posturile lipicioase în partea de sus și dacă tema dvs. folosește post_class () funcția, atunci ar adăuga lipicios în clasa post.

Poți să îți modelezi postările lipicioase folosind .lipicios clasă în foaia de stil. Exemplu:

 .lipicios background-color: #ededed; background-image: url ( 'http://example.com/wp-content/uploads/featured.png'); background-repeat: no-repetare; poziția fundalului: partea dreaptă;  

Sperăm că acest articol v-a ajutat să adăugați postări lipicioase în arhive personalizate tip post. Pentru întrebări și feedback, lăsați un comentariu mai jos.

Sursa: Tareq Hasan