web-dev-qa-db-fra.com

Définir la page d'accueil pour afficher uniquement les publications d'un tag

J'aimerais que ma page d'accueil affiche uniquement les messages d'un seul tag. Est-ce possible? Si oui, s'il vous plaît aviser.

Par exemple,

www.monsite.com/tag/sometag

n’affichera que les articles avec la balise sometag, mais comment puis-je obtenir que www.monsite.fr affiche uniquement les articles vus sur

www.mysite.com/tag/sometag page?

2
Mr. B

Vous devez utiliser pre_get_posts pour modifier la requête principale sur la page d’accueil.

Avec les balises et les paramètres conditionnels appropriés (vérifiez WP_Query pour les paramètres disponibles), vous pouvez obtenir ce dont vous avez besoin.

Vous pouvez effectuer les opérations suivantes pour afficher uniquement les publications d'un tag donné sur votre page d'accueil

add_action( 'pre_get_posts', function ( $query ) {
    if ( !is_admin() && $query->is_home() && $query->is_main_query() ) {
        $query->set( 'tag', 'SLUG_OF_TAG' );
    }
});
5
Pieter Goosen

Pour ça; Tout d'abord, vous devez créer Modèle de page personnalisé et y ajouter loop et le personnaliser comme bon vous semble.

<?php

    $args=array(
      'tag' => 'yourtag',
      'showposts'=>5     // set number of post you want to display
    );
    $my_query = new WP_Query($args);
    if( $my_query->have_posts() ) {
      while ($my_query->have_posts()) : $my_query->the_post(); ?>

        <p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>

        // display what ever you want in this post

      <?php
      endwhile;
    }
  wp_reset_query();  // Restore global post data stomped by the_post().
?>

Puis créez une page et sélectionnez ce modèle de page personnalisé .

Suivant dans paramètres définissez cette page comme page d’accueil statique et vous êtes prêt à partir.

0
Mohammad Mursaleen