Nove trucchi per WordPress

Visualizzare il nome di una Categoria

Questo snippet, inserito all'interno del Loop, mostra il nome della categoria a cui appartiene il post. Volendo, sono disponibili tutti gli altri dati relativi alla categoria, all'interno dell'array $category[0].

<?php
$category = get_the_category();
echo $category[0]->cat_name;
// tutti gli altri dati
// print_r($category[0]);
?>

Template di Pagina

La struttura di un template di pagina è semplice:

<?php
/*
Template Name: La mia pagina
*/

?>
 
<?php get_header(); ?>
<!-- il Loop, oppure codice personalizzato -->
<?php get_footer(); ?>

Articolo in evidenza

Con query_posts():

<?php
// mostra l'ultimo post nella categoria con id 3
query_posts('cat=3&showposts=1');
?>
   <?php while (have_posts()) : the_post(); ?>
      <?php the_excerpt('Continua &raquo;'); ?>
   <?php endwhile; ?>

Con WP_Query():

<?php
// mostra la pagina che ha id 2
$recent = new WP_Query("page_id=2&showposts=1");
while($recent->have_posts()) : $recent->the_post();?>
      <?php the_excerpt('Continua &raquo;'); ?>
<?php endwhile; ?>

I due metodi sono abbastanza simili, quindi si può usare o l'uno o l'altro indifferentemente.
Oppure agire direttamente nel Loop impostando un contatore $i:

<?php $i=1; ?>
<?php while (have_posts()) : the_post(); ?>     
 <?php if ($i == 1) { ?>     
<div id="post-<?php the_ID(); ?>" class="evidenzia">
      <!-- contenuto in evidenza -->
</div>
 <?php } else { ?>   
<div id="post-<?php the_ID(); ?>">
      <!-- contenuto normale -->
</div>
 <?php } ?>       
 <?php $i++; ?>
<?php endwhile; ?>

Includere un file che si trova nella directory del tema

Utile per includere altri file, diversi dalla sidebar di default e dal footer

<?php include (TEMPLATEPATH . '/sidebar2.php'); ?>

Marcatori condizionali

<?php
if ( is_front_page() ) {
  include (TEMPLATEPATH . '/home1.php');
} else {
  include (TEMPLATEPATH . '/rest.php');
}
?>

Invertire l'ordine degli articoli

Aggiungi nel file index.php del tuo template questa riga

<?php query_posts($query_string . "&order=ASC") ?>

prima di

<?php if(have_posts()) : ?>
<?php while(have_posts()) : the_post(); ?>

Codice più sicuro con wp_specialchars()

per evitare code injections e altri attacchi, usa:

<?php echo wp_specialchars($s, 1); ?>

invece di:

<?php echo $s; ?>

Invertire l'ordine dei commenti

<?php $comments = array_reverse($comments, true); ?>
   <?php foreach ($comments as $comment) : ?>
     <!-- lista commenti etc... -->
   <?php endforeach; ?>

Escludere il primo articolo

Il codice che segue esclude il primo articolo dalla visualizzazione nella pagina:

<?php
$myq = $query_string . 'posts_per_page=10&offset=1';
$posts = query_posts($myq);
while (have_posts()) : the_post(); ?>
<!-- il Loop -->
<?php endwhile; ?>

Riferimenti


Un Commento

  1. Max scrive:

    Sono finito quì per caso mentre cercavo qualcosa che potesse aiutarmi a risolvere un problema , ho dato un'occhiata alle informazioni che hai inserito e volevo dirti che le ho trovate interessanti , probabilmente userò parte del codice che hai postato !

    Ciao e grazie