Post In Rilievo Con Campi Personalizzati

Pubblicato da Davide Tommasin

Grazie alle query personalizzate ed alla personalizzazione del loop su WordPress è possibile far visualizzare i post di una data categoria che vogliamo mettere in rilievo utilizzando l’ aggiunta di un campo personalizzato.

Prendiamo per assunto che:

  1. la categoria abbia ID 5;
  2. al campo personalizzato daremo il nome di “rilievo” e il valore che dovrà assumere sarà “si” o “no”;
  3. vogliamo far visualizzare gli ultimi 10 post con le su citate caratteristiche;

Il loop da inserire per esmpio creando un template personalizzato da fornire ad una pagina ingloberà questa query:

<?php global $wpdb;
global $post;
$querystr = "
SELECT *
FROM $wpdb->posts as wpp
 INNER JOIN $wpdb->postmeta wpostmeta ON wpp.ID = wpostmeta.post_id
 INNER JOIN $wpdb->term_relationships ON (wpp.ID = $wpdb->term_relationships.object_id)
 INNER JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)
 WHERE wpostmeta.meta_key = 'rilievo'
 AND wpp.post_status = 'publish'
 AND wpostmeta.meta_value = 'si'
 AND $wpdb->term_taxonomy.taxonomy = 'category'
 AND $wpdb->term_taxonomy.term_id IN(5)
 ORDER BY wpp.ID
 LIMIT 10";
 $pageposts = $wpdb->get_results($querystr);
?>

Il codice del loop che andremo ad utilizzare verrà inserito subito dopo alla query sopra citata:

<?php if ($pageposts): ?>
<?php foreach ($pageposts as $post): ?>
<?php setup_postdata($post); ?>

 <div>
 <h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
 <p><?php print string_limit_words(get_the_excerpt(), 16); ?>...</p>
 </div>

 <?php endforeach; ?>
<?php endif; ?>

Sia chiaro che con questo post non voglio dare la soluzione, ma una delle possibili idee per risolvere il problema e quindi se qualcuno volesse commentare o dire la sua i commenti sono aperti ;)

NOTA: il codice è stato testato su WordPress 2.9.1

Pubblicato in Tutorial & How To
blog comments powered by Disqus

Twitter

Seguici Themes Free e PRO

@KING_Hack Template Free e PRO per WordPress

Newsletter CMS Italia

Your email:

 

Servizi Web e Hosting SEO

Hai bisogno di consulenza e supporto per personalizzare un template per WordPress? Puoi contattarci per chiederci consulenza sul web design.

hosting

Hai bisogno di Hosting? Possiamo offrirti spazio e servizi web per WordPress.