web-dev-qa-db-fra.com

WordPress comment substituer la fonction adjacent_posts_rel_link_wp_head () dans link-template.php

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 uns avec les autres. Par exemple, "Nos services" et "Actualités". Maintenant, je veux m'assurer que les liens Précédent/Suivant de chaque page de message ne font que pointer sur Précédent/Suivant dans la même catégorie. Cela devrait s'appliquer aux liens sur la page et aux liens rel dans la section head. Je pensais déjà que je devais juste mettre le drapeau $ in_same_term à true. Pour les liens à la fin du post, j'ai résolu le problème déjà 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 de base WordPress. Quelqu'un pourrait-il m'aider et me guider tout au long du processus, s'il vous plaît?

2
dj_thossi

adjacent_posts_rel_link() appelle get_adjacent_post_rel_link() , qui renvoie sa valeur de retour via le filtre {$adjacent}_post_rel_link . La partie dynamique du nom du hook, $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 changer 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 );
} );
1
swissspidy