web-dev-qa-db-fra.com

Désactiver l'affichage d'un seul message pour une taxonomie spécifique sur un type de message personnalisé

nous avons un problème assez unique avec un type de publication personnalisé spécifique développé pour un client. En gros, il s’agit de la nécessité de désactiver l’affichage de publication unique pour toutes les publications qui ont été affectées à une taxonomie spécifique dans le CPT que nous avons créé.

EXEMPLE:

Type de message personnalisé: 'locations'

Taxonomies: 'appartement', 'condo', 'loué'

Structure de lien permanent (quelle que soit la taxonomie): http://www.domain.com/rentals/post-title/

La taxonomie unique est "louée", elle apparaît comme une simple page de destination (liste de taxonomie) de toutes les locations qui ne sont plus disponibles, sur une page séparée de toutes les locations principales. Il n'y a pas de clic sur le poste individuel à partir de cette page de renvoi, vous ne pouvez donc pas accéder directement à ce poste. Il ne s'agit que de la vignette, du titre et de l'adresse de chaque fiche de location, disposés dans une grille. Les autres taxonomies sont regroupées dans une page principale "Locations", et elles comportent des clics publicitaires sur des publications individuelles.

MAIS, même si vous ne pouvez pas accéder directement à la publication unique pour ces listes "louées", elles sont toujours indexées par les moteurs de recherche et techniquement "visualisables" avec la connaissance du permalien de droite.

Et le plus gros problème est que les listes qui commencent comme attribuées aux autres taxonomies (par exemple, "appartement" ou "condo") sont ensuite remplacées par la taxonomie "louée" une fois qu'elles ne sont plus disponibles. Ceux-ci sont clairement (et devraient être) indexés, et plus encore, des liens directs ont été envoyés aux clients dans les campagnes de marketing par courrier électronique. Ainsi, si un client clique sur un ancien courrier électronique pour afficher une liste qui ne devrait pas être visible en dehors de la page de renvoi "Loué", il peut toujours accéder à la page de publication unique de cette liste.

Le client "pourrait" changer simplement le permalien lorsqu’il convertit les annonces actuelles en "louées", mais il a également tendance à avoir de nombreuses annonces portant le même titre. Ainsi, WordPress ajoute par défaut un incrément au lien permanent pour chaque nouveau message (par exemple, "colonial-park-04"), et s’ils modifiaient le lien permanent des messages originaux, Wordpress utiliserait à nouveau un lien permanent déjà existant. 'lien serait à nouveau disponible mais avec une nouvelle propriété (encore pire). Et cela ne résout pas le problème des messages créés à l'origine comme "loués" et indexés.

  • Comment pourrait-on/devrait-on remédier à cela ???

MERCI!!!

2
Kenny J

J'utilise template_redirect un crochet à cette fin. Je suppose que rented dans votre question n’est pas la taxonomie elle-même, mais un terme d’une taxonomie.

function my_page_template_redirect() {
    if( is_singular( 'rentals' ) && has_term('rented', 'your taxonomy name') ) {
        wp_redirect( home_url(), 301 );
        exit();
    }
}
add_action( 'template_redirect', 'my_page_template_redirect' );

Avant le rendu de la page, WP vérifie si un seul message CPT rentals est affiché et, le cas échéant, si rented terme ... et si tel est le cas, il redirigera le visiteur ailleurs.

3
Marek