WordPress : WordPress comment remplacer la fonction adjacent_posts_rel_link_wp_head() dans link-template.php de la bonne manière
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_link
filtre. 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 );
} );
0 commentaire