/ / Visualizzazione del loop di categoria personalizzata nella home page - wordpress, wordpress-theming

Visualizzazione del loop di categorie personalizzate nella home page - wordpress, wordpress-theming

La cosa è, nella homepage del mio tema, vogliomostra post di diversa categoria in Divisione Differente Ogni DIV conterrà 3 post da una categoria. Ho bisogno di un ciclo che possa scegliere gli ultimi 3 post di una categoria specifica. Non riesci a trovare nessuno adatto per questo.

Per spiegare le cose più facilmente, ecco una foto dimostrativa della sezione Contenuto,

http://i.imgur.com/5QSzAIS.png

Sarà di grande aiuto, se qualcuno mi aiuti con il codice!

risposte:

2 per risposta № 1
<?php query_posts("cat=10&posts_per_page=3"); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php the_content(); ?>
<?php endwhile; endif; ?>

Questo dovrebbe farti cominciare. È necessario utilizzare questo codice due volte. Dove dice cat=10, dovresti inserire il tuo ID di categoria (puoi controllare questo quando fai clic su una categoria dal pannello di amministrazione, il browser mostrerà qualcosa come questo http://yourwebsite.com/wp-admin/edit-tags.php?action=edit&taxonomy=category&tag_ID=4&post_type=post)

Dove dice tag_ID è l'ID della tua categoria.


0 per risposta № 2

Attualmente sto usando un metodo diverso su una paginadel sito che sto costruendo e che mi permette di eseguire più loop in una pagina e specificare la categoria per ognuno.Questo metodo personalmente mi piace di più in quanto è più semplice per me, e posso definire la categoria con lo slug invece di l'ID.

Invece di usare have_posts() e così, tu usi WP_Query() dopo aver definito il tuo array e poi wp_reset_postdata() per terminare il ciclo. Il vantaggio è che puoi continuare a correre in questo modo.

Sto anche caricando i dati dai campi personalizzati nei miei messaggi usando get_post_meta, ma questo metodo funzionerà senza quella roba.

<div class="audioGrid">

<?php
$args = array( "post_type" => "post",
"category_name" => "audio",
"posts_per_page" => 3,
"order" => "DESC" );

$query1 = new WP_Query($args);

while ( $query1->have_posts() ) {
$query1->the_post();

?>
<div id="<?php echo( basename(get_permalink()) ); ?>" class="grid_item">
<?php the_post_thumbnail( "audio-thumb" ); ?>
<h3><?php the_title(); ?></h3>
<p><?php echo get_post_meta($post->ID, "post_description", true); ?></p>
<a target="blank" href="<?php echo get_post_meta($post->ID, "audio_link", true); ?>"></a>
</div>

<?php the_content(); ?>

<?php } ?>

</div>  <?php // end Audio Grid ?>

<?php wp_reset_postdata(); ?>

<div class="videoGrid">

<?php
$args2 = array( "post_type" => "post",
"category_name" => "video",
"posts_per_page" => 3,
"order" => "DESC" );

$query2 = new WP_Query($args2);

while ( $query2->have_posts() ) {
$query2->the_post();

?>
<div id="<?php echo( basename(get_permalink()) ); ?>" class="grid_item">
<?php the_post_thumbnail( "video-thumb" ); ?>
<h3><?php the_title(); ?></h3>
<p><?php echo get_post_meta($post->ID, "post_description", true); ?></p>
<a target="blank" href="<?php echo get_post_meta($post->ID, "video_link", true); ?>"></a>
</div>

<?php the_content(); ?>

<?php } ?>

</div>  <?php // end Video Grid ?>

<?php wp_reset_postdata(); ?>

Un'altra cosa interessante che sto facendo è usare un campo personalizzato per definire l'ordine delle cose e l'utilizzo meta_key e meta_value_num per ottenere quel numero e forzare l'ordine come voglio, e dal momento che questo sito non è complicato, definire l'ordine in questo modo è conveniente. Io uso solo gli zeri iniziali per semplificare: 001, 002, 003, ecc.

<?php
$args2 = array( "post_type" => "post",
"category_name" => "video",
"posts_per_page" => 3,
"meta_key" => "video_order",
"orderby" => "meta_value_num",
"order" => "ASC" );

$query2 = new WP_Query($args2);

while ( $query2->have_posts() ) {
$query2->the_post();

?>

In ogni caso, spero che questo aiuti se hai bisogno di utilizzare più loop per estrarre messaggi da diverse categorie.