WordPress Tricks #4


 

Avete creato una custom taxonomy in WP, perché magari volevate qualcosa di più dei normali “Articoli, che magari seguissero regole diverse e forse anche per essere visualizzati diversamente.

E se voleste visualizzare nel template questi post, nella stessa pagina, MA prima quelli con un valore specifico in un Campo Personalizzato, e poi gli altri?
Come fate a impedire che il Loop carichi tutti i post, senza tener conto di questo valore nei campi personalizzati?

Si fa così, usando due custom Loop.
Ovviamente dovete sostituire con i vostri valori il nome del custom type post, nome e valore del campo personalizzato in questione, dove necessario.

<?php // Loop 1 ?>
 
    <?php // questa visualizza prima tutti post con custom taxonomy post type "PostTypeName", che HANNO che hanno come value "CustomFieldValue" nel campo personalizzato
    query_posts(array('post_type' => 'PostTypeName', 'meta_value' => 'CustomFieldValue'));
    if(have_posts()) : while(have_posts()) : the_post();
    ?>
 
    <h3><?php the_title(); ?></h3>
    <p><?php the_excerpt(); ?></p>
    <div>some html</div>
 
    <?php // se volete visualizzare proprio il valore del "CustomFieldName" del post, usare questo
    echo get_post_meta($post->ID, 'CustomFieldName', true);
    ?>
 
    <h3><?php the_title(); ?></h3>
    <p><?php the_excerpt(); ?></p>
    <div>html a piacere</div>
 
    <?php endwhile; endif;
    wp_reset_query(); ?>

Siete a metà strada adesso, vediamo ora come visualizzare i post mancanti, quelli che quel valore nel campo personalizzato NON ce l’hanno:

<?php // 2nd loop ?>

<?php // questa visualizza tutti gli altri post con custom taxonomy post type "PostTypeName", che NON che hanno come value "CustomFieldValue" nel campo personalizzato
$querystr = "
    SELECT $wpdb->posts.* 
    FROM $wpdb->posts, $wpdb->postmeta
    WHERE $wpdb->posts.ID = $wpdb->postmeta.post_id 
    AND $wpdb->postmeta.meta_value = 'CustomFieldValue' 
    AND $wpdb->posts.post_status = 'publish' 
    AND $wpdb->posts.post_type = 'PostTypeName'
    ORDER BY $wpdb->posts.post_date DESC
 ";

$pageposts = $wpdb->get_results($querystr, OBJECT);

if ($pageposts):
foreach ($pageposts as $post):
setup_postdata($post); ?>
<h3><?php the_title(); ?></h3>
<?php the_excerpt(); ?>
<div>html a piacere</div>
<?php endforeach; endif; ?>

Questa seconda Loop in realtà può essere costruita anche così:

<?php // questa visualizza tutti gli altri post con custom taxonomy post type "PostTypeName", che NON che hanno come value "CustomFieldValue" nel campo personalizzato 
query_posts(array('post_type' => 'PostTypeName', 'meta_value' => 'CustomFieldValue', 'meta_compare' => '!=', 'meta_key' => 'CustomFieldName'));
if(have_posts()) : while(have_posts()) : the_post(); ?>
<h3><!--?php the_title(); ?></h3>
<?php the_excerpt(); ?>
<div>some html</div>
<?php endwhile; endif; wp_reset_query(); ?>

Enjoy!

Jany Martelli

Sono Consulente Digitale, Front-End Developer e WordPress Specialist.
Aiuto aziende, professionisti e startup a crescere con la tecnologia ed una digital strategy vincente, creando e coordinando team di designer & sviluppatori, pianificando progetti e strategie, sviluppando soluzioni complesse.

Centro Preferenze Prviacy

Sessione

Chiamato anche cookie temporaneo, un cookie che viene cancellato quando l'utente chiude il browser Web.

Il cookie di sessione è memorizzato nella memoria temporanea e non viene mantenuto dopo la chiusura del browser.

I cookie di sessione non raccolgono informazioni dal computer dell'utente. Solitamente vengono utilizzati per tenere traccia temporaneamente delle preferenze degli utenti (ad esempio valuta, lingua, elementi che vengono inseriti nel carrello - nel caso di un sito di e-commerce, che questo sito Web non è) in tutto il sito.

Altre volte vengono utilizzati per assicurarsi che l'utente non sia un bot dannoso che tenta di rimuovere un sito Web, quindi il cookie non può essere disattivato per motivi di sicurezza.

Di solito sono innocui (o dovrebbero esserlo!) e andranno via quando lascerete il sito web o chiuderete il browser.

PHPSESSID,gdpr[allowed_cookies],gdpr[consent_types],uvc,__cfduid,_gh_sess,PREF
uvc,__cfduid
_gh_sess
use_hitbox,YSC

Analisi & Preferenze sito

Cookie persistenti.

Chiamato anche cookie permanente, o cookie memorizzato, un cookie che viene memorizzato sul disco rigido dell'utente, fino alla sua scadenza (i cookie persistenti sono impostati con date di scadenza) o finché l'utente non cancella il cookie.

Questi cookie hanno lo scopo di profilare i visitatori del sito Web e consentire agli amministratori di sapere chi visita il loro sito web.

Il tuo nome NON è tracciato, ma il tuo IP, il Paese, il browser e le specifiche del dispositivo, i termini di ricerca e altro ancora sono di solito.

Aiuta gli amministratori a capire quali sono i contenuti che i loro utenti preferiscono e chi è il loro pubblico, al fine di fornire contenuti migliori e più mirati.

Altri cookie hanno le stesse funzioni di quelli di sessione: ad esempio, aiutano semplicemente il browser a ricordare se la tua connessione Internet è abbastanza veloce per riprodurre video di alta qualità la prossima volta o quale lingua hai scelto per i tuoi sottotitoli.

Alcuni di questi potrebbero essere relativamente pericolosi, dal momento che dovevano innanzitutto aiutare gli amministratori a gestire il pubblico e il contenuto del loro sito, tuttavia potrebbero anche essere utilizzati, per essere raccolti e venduti a terzi.

Puoi controllare una spiegazione completa di alcuni dei più comuni qui .

_ga,_gat,_gid,PREF,VISITOR_INFO1_LIVE,GPS
PREF,VISITOR_INFO1_LIVE,GPS

Pubblicità

Cookie persistenti.

Chiamati anche cookie permanenti, o cookie memorizzati, un cookie che viene memorizzato sul disco rigido dell'utente, fino alla sua scadenza (i cookie persistenti sono impostati con date di scadenza) o finché l'utente non cancella il cookie.

Questi cookie hanno lo scopo di raccogliere le tue preferenze di navigazione (le tue ricerche, i siti web che visiti, le cose che ti piacciono o che non ti piacciono, situazioni personali e le cose che potresti non volere che una terza parte sappia o che non sia venduta a qualcun altro).

Una grande maggioranza di siti Web, motori di ricerca, app e social network, inserirà questi cookie nel tuo browser, in modo da mostrarti annunci pubblicitari e ricavarne quindi profitto.

Questo non è intrinsecamente negativo, tuttavia alcuni potrebbero usare questi cookie, oltre che per mostrarti annunci più pertinenti ai tuoi interessi, anche per raccogliere dati che saranno poi venduti in modi che potrebbero danneggiare la società.

Questo sito mostra gli annunci di Google, quindi inserisce i suoi cookie nel tuo browser (mi dispiace!).

Se non desideri essere monitorato da Google ed i suoi partner, modifica le tue impostazioni sulla privacy qui .

In alcuni casi, questo sito mostra anche Facebook Ads, quindi se non desideri essere monitorato da Facebook, ti preghiamo di visitare qui per modificare le tue impostazioni.

Se non vuoi essere monitorato da nessuno, su questo sito, ricordati infine, di disabilitare anche il consenso di questi cookie.

Non permettendo che i cookie pubblicitari vengano inseriti nel tuo browser, NON vuol dire che non vedrai più pubblicità online, ma semplicemente non saranno più pertinenti ai tuoi interessi.

Su Chrome, fai clic su qui per bloccare tutti i cookie di terze parti (in questo modo però alcuni siti potrebbero non funzionare, perché vengono bloccati anche alcuni cookie necessari).

Se desideri avere un controllo ancora maggiore su quali terze parti possono raccogliere i tuoi dati (anche al di fuori di questo sito Web), visita questo sito web .

fr,DSID,IDE,uuid
fr
DSID,IDE
IDE
uuid