Come aggiungere postazioni adesive negli archivi di articoli personalizzati di WordPress
Recentemente uno dei nostri utenti ci ha chiesto se fosse possibile aggiungere post appiccicosi agli archivi dei tipi di messaggi personalizzati. Per impostazione predefinita, WordPress ha la funzionalità adesiva disponibile per i post, ma non per altri tipi di post. In questo articolo ti mostreremo come aggiungere post appiccicosi negli archivi dei tipi di post personalizzati di WordPress. Prima di andare avanti, probabilmente vorrai imparare come creare tipi di post personalizzati in WordPress.
Aggiunta di postazioni adesive in Tipi di post personalizzati
La prima cosa che devi fare è installare e attivare il plugin Tipi di post personalizzati personalizzati. Dopo aver attivato il plugin, vai a Impostazioni »Lettura e scorrere verso il basso fino alla sezione Tipi di messaggi personalizzati. Successivamente, devi scegliere i tipi di post personalizzati in cui desideri Attiva questa opzione.
Ora quello che abbiamo fatto qui è che abbiamo aggiunto funzionalità di post appiccicose ai nostri tipi di post personalizzati. I post permanenti nei tipi di post personalizzati verranno visualizzati nella prima pagina come normali post di appiccicosi.
Il problema è che di default WordPress mostra solo post appiccicosi sulla home page. Non mostra post appiccicosi nelle pagine di archivio.
Visualizzazione di messaggi permanenti in archivi di tipo personalizzato
Supponiamo che tu abbia un tipo di messaggio personalizzato per le Recensioni dei film con post permanenti abilitato utilizzando il plug-in che abbiamo menzionato sopra. Ora vuoi che i tuoi post appiccicosi nei tipi di post delle recensioni dei film vengano visualizzati in modo diverso e in aggiunta alle recensioni di film regolari non appiccicose. Come questo:
Per raggiungere questo obiettivo, la prima cosa di cui hai bisogno è un modello di archivio per il tuo tipo di post personalizzato in questo modo: archivio post-type.php
. Scopri come creare una pagina di archivio del tipo di post personalizzata. Ad esempio, se hai un tipo di messaggio personalizzato film-recensioni
allora dovrebbe essere il tuo modello di pagina di archivio archivio-movie-reviews.php
. Se non si dispone di un modello, crearne uno. Copia semplicemente i contenuti di archive.php nella directory del tuo tema e incollali in un nuovo file archivio-your-post-type.php
.
Il prossimo passo è aggiungere questo codice nel tuo tema functions.php
file:
function wpb_cpt_sticky_at_top ($ posts) // si applica agli archivi solo se (is_main_query () && is_post_type_archive ()) global $ wp_query; $ sticky_posts = get_option ('sticky_posts'); $ num_posts = count ($ posts); $ sticky_offset = 0; // Trova i post permanenti per ($ i = 0; $ i ID, $ sticky_posts)) $ sticky_post = $ post [$ i]; // Rimuovi sticky dalla posizione corrente array_splice ($ posts, $ i, 1); // Sposta in primo piano, dopo altri sticky array_splice ($ posts, $ sticky_offset, 0, array ($ sticky_post)); $ Sticky_offset ++; // Rimuovi il post dai post permanenti array $ offset = array_search ($ sticky_post-> ID, $ sticky_posts); unset ($ sticky_posts [$ offset]); // Cerca altri post appiccicosi se necessario (! Empty ($ sticky_posts)) $ stickies = get_posts (array ('post__in' => $ sticky_posts, 'post_type' => $ wp_query-> query_vars ['post_type' ], 'post_status' => 'publish', 'nopaging' => true)); foreach ($ stickies as $ sticky_post) array_splice ($ posts, $ sticky_offset, 0, array ($ sticky_post)); $ Sticky_offset ++; restituisce $ post; add_filter ('the_posts', 'wpb_cpt_sticky_at_top'); // Aggiungi una classe appiccicosa nel titolo dell'articolo ai post appiccicosi di stile in modo diverso function cpt_sticky_class ($ classes) if (is_sticky ()): $ classes [] = 'sticky'; restituire $ classi; finisci se; restituire $ classi; add_filter ('post_class', 'cpt_sticky_class');
Il codice sopra sposterebbe i tuoi post appiccicosi in cima e se il tuo tema sta usando post_class ()
funzione, quindi aggiungerebbe appiccicoso nella post class.
Puoi modellare i tuoi messaggi appiccicosi usando .appiccicoso
classe nel tuo foglio di stile. Esempio:
.sticky background-color: #ededed; background-image: url ( 'http://example.com/wp-content/uploads/featured.png'); background-repeat: no-repeat; posizione di sfondo: in alto a destra;
Ci auguriamo che questo articolo ti abbia aiutato a aggiungere post appiccicosi negli archivi dei tipi di post personalizzati. Per domande e commenti si prega di lasciare un commento qui sotto.
Fonte: Tareq Hasan