web-dev-qa-db-fra.com

Affichage de certaines balises uniquement en boucle

Ce que j'essaie de faire est de modifier la boucle sur mon site afin qu'il vérifie l'URL du site afin de savoir quelle balise afficher.

Par exemple, si je donne à certains messages le tag "golfclubs", je veux que cela fonctionne comme ceci:

if ($_SERVER['HTTP_Host']=="www.golfclubreviewdomain.com"){
        // code here to display only the "golfclubs" tagged posts
}

Dans le cas où le code ci-dessus est incorrect pour ce que je veux, je veux juste vérifier le domaine actuel pour voir s'il est http://www.golfclubreviewdomain.com , et si c'est le cas, affichez les articles étiquetés avec "golfclubs". J'aimerais que ce changement fonctionne sur tous les thèmes. Je souhaite donc le modifier au plus haut niveau, si possible, de manière à affecter la page d'accueil, les catégories, etc. Existe-t-il un fichier de base que je peux utiliser et qui ne sera jamais mis à jour lors de la mise à niveau de wordpress ?

Et ma dernière question, quel changement dois-je apporter pour afficher plus d'un type de message étiqueté? peut-être quelque chose comme "golfclubs" et "general"?

2
Joe Bobby
  • Créez un plugin à utiliser absolument.
  • Mettez-le dans <docroot>/wp-content/mu-plugins/selective-posts.php
  • Ce qui suit devrait être le code dans selective-posts.php pour filtrer des publications spécifiques.

    function golfclubs_tag( $query ) {
        if ( $_SERVER['HTTP_Host'] === 'www.golfclubreviewdomain.com' ) {
            $query->set( 'tag', 'golfclubs' );
        }
    }
    add_action( 'pre_get_posts', 'golfclubs_tag' );
    

De cette façon, il filtrerait toutes les requêtes sur le site pour un domaine spécifique et filtrerait les publications avec des balises spécifiques.

Si vous souhaitez ajouter une autre balise à la requête, vous pouvez modifier le code ci-dessus comme suit:

    function golfclubs_tag( $query ) {
        if ( $_SERVER['HTTP_Host'] === 'www.golfclubreviewdomain.com' ) {
            $query->set( 'tag', 'golfclubs,general' );
        }
    }
    add_action( 'pre_get_posts', 'golfclubs_tag' );
3
Udit Desai