web-dev-qa-db-fra.com

Comment ajouter une balise META au filtre WordPress?

Par exemple, j'ai une URL:

mysite.com/author/admin

Ajouter une méta-tag via un plugin SEO n'est pas considéré comme une publication ou une page unique. Et à cette page, je veux ajouter quelque chose comme:

<meta name="description" content="All posts by author admin."/>

Y a-t-il un moyen de faire cela? Merci d'avance!

2
teheteh

Il n'existe pas de méthode standardisée pour ajouter des balises méta HTML dans WordPress, mais vous pouvez utiliser wp_head action comme méthode générique pour ajouter des balises méta.

Je pense que la balise méta de description ne doit pas figurer dans le thème, comme vous le suggérez dans votre réponse, car la balise méta de description est une propriété du document et n'a donc rien à voir avec l'apparence du document, c'est-à-dire le thème.

C'est un exemple de code pour le faire:

add_action( 'wp_head', 'cyb_author_archive_meta_desc' );
function cyb_author_archive_meta_desc() {

   // Check is we are in author archive
   // https://developer.wordpress.org/reference/functions/is_author/
   if( is_author() ) {
       // get_queried_object() returns current author in author's arvhives
       // https://developer.wordpress.org/reference/classes/wp_query/get_queried_object/
       $author = get_queried_object();

       // Generate meta description
       $description = sprintf( __( 'All posts by author %s', 'cyb-textdomain' ), $author->display_name );

       // Print description meta tag
       echo '<meta name="description" content="' . esc_attr( $description ) . '">';
   }

}
3
cybmeta

UPDT: Je l'ai compris. Je devais simplement le coder en dur dans le fichier header.php situé dans le dossier de noms de thèmes.

<!-- Meta Tags -->

<?php if (is_archive() && !is_category()){
   echo '<meta property="og:description"  content="Your description"/>';
}
?>
0
teheteh