タイトルタグ
* タイトルタグのテキストを変更する */ add_filter('document_title_parts', 'my_document_title_parts'); function my_document_title_parts($title) { if (is_home()) { $title['title'] = 'コラムの記事一覧 | Acots'; unset($title['tagline']); //フロントページの場合のキャッチフレーズを非表示 } elseif (is_category()) { $title['title'] = 'コラムの' . $title['title'] . '一覧'; } elseif (is_tag()) { $title['title'] = 'コラムの' . $title['title'] . '一覧'; } return $title; }
上記のようにすると
TOPページのタイトルはコラムの記事一覧 | Acots
カテゴリページのタイトルはコラムの該当カテゴリ一覧 | Acots
タグ一覧ページのタイトルはコラムの該当タグ一覧 | Acots
ディスクリプション
<?php if (is_home() || is_front_page()) : ?> <meta name="description" content="<?php bloginfo('description'); ?>"> <?php elseif (is_category()) : ?> <meta name="description" content="<?php echo category_description(); ?>"> <?php elseif (is_tag()) : ?> <meta name="description" content="<?php echo tag_description(); ?>"> <?php elseif (is_singular()) : ?> <meta name="description" content="<?php echo get_the_excerpt(); ?>"> <?php endif; ?>
TOPでは設定したディスクリプションが表示。 カテゴリ・タグページではカテゴリ・タグで設定したディスクリプションが表示。 シングルページでは抜粋が表示
■もし、カテゴリ一覧・タグ一覧で表示をカスタマイズしたい時(カテゴリのタイトルを使用したい時)
<?php if (is_home() || is_front_page()) : ?> <meta name="description" content="<?php bloginfo('description'); ?>"> <?php elseif (is_category() || is_tag()) : ?> <meta name="description" content="コラム記事の<?php wp_title(''); ?>一覧です。"> <?php elseif (is_singular()) : ?> <meta name="description" content="<?php echo get_the_excerpt(); ?>"> <?php endif; ?>
上記の方法で前後に余白が入る時はfunctions.phpに下記を記述
/** * wp_titleの$separatorの余分な余白削除 */ function my_title_fix($title, $separator, $seplocation) { if (!$separator || $separator == '|') { $title = str_replace(' ' . $separator . ' ', $separator, $title); } return $title; } add_filter('wp_title', 'my_title_fix', 10, 3);
条件分岐で切り分け
※アーカイブ(is_archive)は引数を取らないので下記のように記述
<?php elseif (is_archive() && is_post_type_archive('service')) : ?>
関数リファレンス/is archive - WordPress Codex 日本語版
※第2階層の指定(例:recuite/faqを指定)
<?php elseif (is_page() && in_array('faq', $uri)) : // 固定ページ (採用情報TOP よくある質問) ?>
条件で切り分けをfunctions.phpで関数作成
functions.phpに下記を記述して、headに<?php page_description(); ?>
で呼び込み
function page_description() { global $post; $uri = explode("/", $_SERVER["REQUEST_URI"]); $uri = array_filter($uri); $description = "当社では、運用設計、システム運用保守、ソフトウェア設計・開発、インフラ設計・構築を行っており、ITシステムをワンストップで提供します。 運用センタでは、すべての業務をITIL及びISO20000に基づき、規定・設計・実施・改善を行っております。"; $og_img = "https://http://mimoza-care.com//wp-content/uploads/2022/09/ogp.jpg"; ?> <?php if (is_front_page()) : // トップページ ?> <meta name="description" content="トップページ<?= $description ?>"> <meta property="og:locale" content="ja_JP"> <meta property="og:url" content="<?php echo (is_ssl() ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>" /> <meta property="og:type" content="website" /> <meta property="og:title" content="<?php bloginfo('name'); ?>" /> <meta property="og:description" content="<?= $description ?>" /> <meta property="og:site_name" content="<?php bloginfo('name'); ?>" /> <meta property="og:image" content="<?= $og_img ?>" /> <meta property="og:image:secure_url" content="<?= $og_img ?>"> <meta name="twitter:card" content="summary" /> <meta name="twitter:title" content="<?php bloginfo('name'); ?>" /> <meta name="twitter:description" content="<?= $description ?>" /> <meta name="twitter:image" content="<?= $og_img ?>" /> <?php elseif (is_page('about')) : // 固定ページ ?> <meta name="description" content="<?= $description ?>"> <meta property="og:locale" content="ja_JP"> <meta property="og:url" content="<?php echo (is_ssl() ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>" /> <meta property="og:type" content="website" /> <meta property="og:title" content="<?= get_the_title(); ?> | <?php bloginfo('name'); ?>" /> <meta property="og:description" content="<?= $description ?>" /> <meta property="og:site_name" content="<?php bloginfo('name'); ?>" /> <meta property="og:image" content="<?= $og_img ?>" /> <meta property="og:image:secure_url" content="<?= $og_img ?>"> <meta name="twitter:card" content="summary" /> <meta name="twitter:title" content="<?= get_the_title(); ?> | <?php bloginfo('name'); ?>" /> <meta name="twitter:description" content="<?= $description ?>" /> <meta name="twitter:image" content="<?= $og_img ?>" /> <?php elseif (is_archive() && is_post_type_archive('service')) : // アーカイブ(サービス ) ?> <meta name="description" content="サービス<?= $description ?>"> <meta property="og:locale" content="ja_JP"> <meta property="og:url" content="<?php echo (is_ssl() ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>" /> <meta property="og:type" content="website" /> <meta property="og:title" content="<?= get_the_title(); ?> | <?php bloginfo('name'); ?>" /> <meta property="og:description" content="<?= $description ?>" /> <meta property="og:site_name" content="<?php bloginfo('name'); ?>" /> <meta property="og:image" content="<?= $og_img ?>" /> <meta property="og:image:secure_url" content="<?= $og_img ?>"> <meta name="twitter:card" content="summary" /> <meta name="twitter:title" content="<?= get_the_title(); ?> | <?php bloginfo('name'); ?>" /> <meta name="twitter:description" content="<?= $description ?>" /> <meta name="twitter:image" content="<?= $og_img ?>" /> <?php elseif (is_page() && in_array('faq', $uri)) : // 固定ページ (採用情報TOP よくある質問) ?> <meta name="description" content="よくある質問<?= $description ?>"> <meta property="og:locale" content="ja_JP"> <meta property="og:url" content="<?php echo (is_ssl() ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>" /> <meta property="og:type" content="website" /> <meta property="og:title" content="<?= get_the_title(); ?> | <?php bloginfo('name'); ?>" /> <meta property="og:description" content="<?= $description ?>" /> <meta property="og:site_name" content="<?php bloginfo('name'); ?>" /> <meta property="og:image" content="<?= $og_img ?>" /> <meta property="og:image:secure_url" content="<?= $og_img ?>"> <meta name="twitter:card" content="summary" /> <meta name="twitter:title" content="<?= get_the_title(); ?> | <?php bloginfo('name'); ?>" /> <meta name="twitter:description" content="<?= $description ?>" /> <meta name="twitter:image" content="<?= $og_img ?>" /> <?php elseif (is_page('privacy')) : // 固定ページ (プライバシーポリシー) ?> <meta name="description" content="プライバシーポリシー<?= $description ?>"> <meta property="og:locale" content="ja_JP"> <meta property="og:url" content="<?php echo (is_ssl() ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>" /> <meta property="og:type" content="website" /> <meta property="og:title" content="<?= get_the_title(); ?> | <?php bloginfo('name'); ?>" /> <meta property="og:description" content="<?= $description ?>" /> <meta property="og:site_name" content="<?php bloginfo('name'); ?>" /> <meta property="og:image" content="<?= $og_img ?>" /> <meta property="og:image:secure_url" content="<?= $og_img ?>"> <meta name="twitter:card" content="summary" /> <meta name="twitter:title" content="<?= get_the_title(); ?> | <?php bloginfo('name'); ?>" /> <meta name="twitter:description" content="<?= $description ?>" /> <meta name="twitter:image" content="<?= $og_img ?>" /> <?php elseif (is_single() && in_array('cases', $uri)) : // シングルページ cases ?> <meta name="description" content="シングルページ cases<?= $description ?>"> <meta property=" og:locale" content="ja_JP"> <meta property="og:url" content="<?php echo (is_ssl() ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>" /> <meta property="og:type" content="website" /> <meta property="og:title" content="<?= get_the_title(); ?> | <?php bloginfo('name'); ?>" /> <meta property="og:description" content="<?= $description ?>" /> <meta property="og:site_name" content="<?php bloginfo('name'); ?>" /> <meta property="og:image" content="<?= $og_img ?>" /> <meta property="og:image:secure_url" content="<?= $og_img ?>"> <meta name="twitter:card" content="summary" /> <meta name="twitter:title" content="<?= get_the_title(); ?> | <?php bloginfo('name'); ?>" /> <meta name="twitter:description" content="<?= $description ?>" /> <meta name="twitter:image" content="<?= $og_img ?>" /> <?php elseif (is_single()) : // シングルページ ?> <meta name="description" content="<?= $description ?>"> <meta property=" og:locale" content="ja_JP"> <meta property="og:url" content="<?php echo (is_ssl() ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>" /> <meta property="og:type" content="website" /> <meta property="og:title" content="<?= get_the_title(); ?> | <?php bloginfo('name'); ?>" /> <meta property="og:description" content="<?= $description ?>" /> <meta property="og:site_name" content="<?php bloginfo('name'); ?>" /> <meta property="og:image" content="<?= $og_img ?>" /> <meta property="og:image:secure_url" content="<?= $og_img ?>"> <meta name="twitter:card" content="summary" /> <meta name="twitter:title" content="<?= get_the_title(); ?> | <?php bloginfo('name'); ?>" /> <meta name="twitter:description" content="<?= $description ?>" /> <meta name="twitter:image" content="<?= $og_img ?>" /> <?php elseif (is_archive()) : // ニュース ?> <?php else : // その他ページ ?> <meta name="robots" content="index, follow"> <?php endif; ?> <?php }