J'ai trouvé qu'il s'agit de l'un de mes fichiers de thème:
<?php the_category( ' ' ) ?>
Idéalement, j'aimerais envelopper le tout dans une fonction et remplacer certaines des adresses URL en sortie, mais je ne semble pas pouvoir affecter la sortie du tout:
<?php updateToPerfectURLs(the_category( ' ' )); ?>
En fin de compte, je souhaite modifier la création wordpress ic de l’URL pour mes pages de catégorie. Et cela irait au-delà de ce que vous pouvez faire avec le paramètre de base de catégorie ....
Je ne sais pas pourquoi vous avez besoin de cela ni quel est votre cas d'utilisation exact ici, mais en bref, the_category()
renvoie simplement la valeur renvoyée par get_the_category_list()
qui utilise get_category_link()
qui utilise get_term_link()
pour obtenir l'URL de la page de catégorie.
C’est là que vous devriez chercher si vous devez changer l’URL du lien renvoyant à la page de catégorie. Dans get_term_link()
, il existe un filtre term_link
que vous pouvez utiliser pour modifier l'URL renvoyée pour un terme/une catégorie spécifique.
return apply_filters( 'term_link', $termlink, $term, $taxonomy );
Ainsi, si vous devez modifier l'URL du terme ID 1 pour la taxonomie category
, vous pouvez essayer quelque chose comme le code suivant ( REMARQUE: Le code n'est pas testé )
add_filter( 'term_link', function ( $termlink, $term, $taxonomy )
{
// Check if we have the correct term and taxonomy, if not, bail early
if ( $term->term_id != 1 // Check if current term is 1 or not
&& $taxonomy != 'category' // Check if the current term is from the taxonomy category
)
return $termlink;
// If we came to this point, we have the desired term and taxonomy, so lets alter the URL
// Here should be the code to construct your new URL, you need to work on this
$termlink = 'VALUE_OF_NEW_URL'; // This will be the new URL our term to link to its term page
return $termlink;
}, 10, 3 );