web-dev-qa-db-ja.com

ワードプレスの投稿フィルタにメタタグを追加するにはどうすればいいですか?

たとえば、私はURLがあります:

mysite.com/author/admin

SEOプラグインを介してメタタグを追加するのは、単一の投稿や単一のページとは見なされません。そしてこのページに次のようなものを追加したいと思います。

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

これを行う方法はありますか?前もって感謝します!

2
teheteh

WordPressにHTMLメタタグを追加するための標準化された方法はありませんが、メタタグを追加する一般的な方法として wp_head action を使用できます。

説明メタタグはドキュメントの特性であり、ドキュメントの外観やテーマ、つまりテーマとは関係がないため、説明のメタタグをテーマに含めるべきではありません。

これはそれを行うためのサンプルコードです。

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:それを考え出しました。私のテーマの名前のフォルダにあるheader.phpファイルにそれをハードコードするだけでした。

<!-- Meta Tags -->

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