WordPress : WordPress comment remplacer la fonction adjacent_posts_rel_link_wp_head() dans link-template.php de la bonne manière

Publié par Jean-Michel le

Je suis assez nouveau dans le développement WordPress. J’utilise WordPress 4.9.2. Je travaille actuellement sur le problème suivant. J’ai plusieurs catégories de blogs qui n’ont aucun rapport les unes avec les autres. Par exemple « Nos services » et « Actualités ». Maintenant, je veux m’assurer que les liens Prev/Next sur chaque page de publication ne pointent que vers Prev/Next dans la même catégorie. Cela devrait s’appliquer aux liens sur la page et aux liens rel dans la section d’en-tête. J’ai déjà pensé que je devais JUSTE définir le drapeau $in_same_term sur true. Pour les liens à la fin de l’article, j’ai déjà résolu le problème dans mon thème en ajoutant des arguments corrects. Seuls les liens rel dans la section head ne fonctionnent pas comme ça.

Changement nécessaire pour l’en-tête

De

function adjacent_posts_rel_link_wp_head() {
    if ( ! is_single() || is_attachment() ) {
        return;
    }
    adjacent_posts_rel_link();
}

À

function adjacent_posts_rel_link_wp_head() {
    if ( ! is_single() || is_attachment() ) {
        return;
    }
    adjacent_posts_rel_link('%title', true); //TODO find a better way
}

Je ne veux tout simplement pas toucher à un fichier principal de WordPress. Quelqu’un pourrait-il m’aider et me guider dans le bon processus, s’il vous plaît?

Solution n°1 trouvée

adjacent_posts_rel_link()calls get_adjacent_post_rel_link(), qui exécute sa valeur de retour à travers le {$adjacent}_post_rel_linkfiltre. La partie dynamique du nom du crochet, $adjacent, fait référence au type de contiguïté, ‘suivant’ ou ‘précédent’.

Vous pouvez utiliser ce filtre pour modifier la sortie en conséquence. Voici un exemple pour modifier le deuxième paramètre :

add_filter( 'next_post_rel_link', function( $link ) {
  return get_adjaxent_post_rel_link( '%title', true, '', false );
} );

add_filter( 'previous_post_rel_link', function( $link ) {
  return get_adjacent_post_rel_link( '%title', true );
} );

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *