web-dev-qa-db-fra.com

Y at-il un plugin pour afficher certains messages sur certaines pages?

Sur la page d'accueil, je souhaite afficher les 4 derniers messages de la catégorie "actualités" et "événements", alors que sur la page des événements, je souhaite uniquement afficher tous les articles de la catégorie "événements" sous la forme paginée habituelle de WP, s'il y a un événement. beaucoup d'entre eux.

Connaissez-vous un plugin qui gère ce type de post-génération basée sur des règles? Sinon, quel serait le meilleur moyen de contourner ce problème?

3
Andy Cheeseman

vous devriez peut-être penser à utiliser l'une des requêtes intégrées de Wordpress pour ce genre de choses et créer vous-même quelques boucles personnalisées. Il existe probablement des plugins qui peuvent le faire pour vous, mais en règle générale, il est préférable de réduire le recours aux scripts tiers autant que possible.

Pour faire ce que vous avez décrit ci-dessus, vous aurez probablement besoin d'une boucle qui ressemble à ceci (déposez ceci dans votre modèle de page d'accueil):

// This is where we set up the parameters for your custom loop.  In the example below you would want to swap out the category ID numbers with the IDs for your News and Events cateogries
<?php $my_query = new WP_Query( 'cat=2,6&post_per_page=4' );?>

// The Loop
<?php if($my_query->have_posts()) : while ( $my_query->have_posts() ) : $my_query->the_post(); ?>

//Add template tags and other stuff here that you want to show up for each post

<?php endwhile; else: ?>
    <p>Sorry - No posts to display.</p>
<?php endif; wp_reset_query();?>

Pour réaliser votre autre boucle, vous voudriez à peu près la même chose que ci-dessus, cependant, vous devrez changer un peu la première ligne. Quelque chose comme ceci devrait fonctionner (déposez ceci dans votre modèle de page personnalisé):

//This adds in the pagination that you require.  
//Once again, you will need to modify the category ID to match the ID of the one you want to display.  
//You can also Tweak the other parameters to suit your requirements
<?php $paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
query_posts( array( 'cat' => '12', 'posts_per_page' => 10, 'orderby' => 'date', 'order' => 'DESC', 'paged' => $paged ) ); ?>

Plus d'informations sur WP-Query peuvent être trouvées ici:

http://codex.wordpress.org/Class_Reference/WP_Query

J'espère que cela t'aides!

1
FourStacks