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(); ?>

< ?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 »'); ?>
   < ?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 »'); ?>
< ?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) { ?>      
< ?php } else { ?>
< ?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) : ?>
   		
   < ?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(); ?>

< ?php endwhile; ?>

Riferimenti