Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 26 di 33
  • livello avanzato
Indice lezioni

Post formats: template generale, formato quote e archivi

Tutto sulla gestione del template generale, del formato quote e degli archivi nei Post formats per i temi di WordPress.
Tutto sulla gestione del template generale, del formato quote e degli archivi nei Post formats per i temi di WordPress.
Link copiato negli appunti

L'inserimento nel template generale

Una volta creati i template parziali, è necessario prevederne l'inserimento all'interno del template generale. Quello che segue è il Loop di uno qualsiasi dei template index.php, archive.php, single.php o page.php del tema Seventyone:

while ( have_posts() ) : the_post();
	get_template_part( 'content', get_post_format() );
endwhile;

Il template tag get_post_format restituisce una stringa che individua il formato del post o false se questo non è specificato. Quindi, nel caso in cui non sia impostato un formato specifico per il post corrente, sarà incluso nel documento il template parziale content.php; nel caso, invece, dovesse essere stabilito un formato specifico, come ad esempio "link", allora verrebbe caricato il template parziale content-link.php.

Il formato quote

Il tempate parziale sarà content-quote.php. Si potrebbe aggiungere solo un tag blockquote, a racchiudere il contenuto del post:

<blockquote><?php the_content(); ?></blockquote>

Naturalmente saranno possibili modifiche: ad esempio si potrà eliminare il titolo o si potrà decidere di non visualizzare il footer con i metadati associati. Nel tema Seventyone, il template content-quote.php potrebbe essere il seguente:

<?php
/**
 * @package WordPress
 * @subpackage Seventy-One-WordPress-Theme
 * @since Seventy One 1.0
 */
 ?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
	<header class="entry-header">
		<?php
		if ( is_single() ) :
			the_title( '<h1 class="entry-title">', '</h1>' );
		else :
			the_title( '<h1 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h1>' );
		endif;
		?>
		<?php posted_on(); ?>
		<?php edit_post_link( __( 'Edit', 'seventyone' ), '<span class="edit-link">', '</span>' ); ?>
	</header>
	<?php if ( is_search() ) : ?>
	<div class="entry-summary">
		<?php the_excerpt(); ?>
	</div><!-- .entry-summary -->
	<?php else : ?>
	<div class="entry">
		<blockquote><?php the_content(); ?></blockquote>
	</div>
	<?php endif; ?>
</article>

A questo punto basterà assegnare lo stile giusto all'elemento blockquote (si torni al capitolo sul foglio di stile per il dettaglio).

Figura 1. Visualizzato di un post in formato quote
Visualizzato di un post in formato quote

Gli archivi

Le poche modifiche apportate si applicano se viene visualizzato il contenuto e non il riassunto. Ciò significa che il blockquote sarà generato nelle pagine dei singoli post, non nelle pagine di archivio. Per ovviare dovremo modificare anche i file archive.php e index.php. Modifichiamo il primo e individuiamo le seguenti righe:

<div class="entry-summary">
	<?php the_excerpt(); ?>
</div>

Sostituiamole, quindi, con le seguenti istruzioni:

<div class="entry-summary">
<?php if ( has_post_format( 'quote' ) ) : ?>
	<blockquote><?php the_content(); ?></blockquote>
<?php else: ?>
	<?php the_excerpt(); ?>
<?php endif; ?>
</div>

has_post_format() è un conditional tag che restituisce true se il formato passato come argomento corrisponde al formato del post corrente. Passando un solo argomento, il tag va utilizzato all'interno del Loop. Se la funzione viene invocata al di fuori del Loop, allora va passato un secondo argomento che individui l'id del post da verificare.

Se il post corrente è del formato quote, verrà visualizzato il contenuto all'interno di un elemento blockquote; in caso contrario, sarà visualizzato il riassunto, come nella versione precedente dell'archivio.

Ti consigliamo anche