ワードプレスでmeta title ,description, keywordをページのスラグ(URL)や投稿タイプ、ページIDで切り替える方法について解説いたします。

meta title ,meta description,meta keywordをページのスラグ(URL)や投稿タイプ、ページIDで切り替えるコードの例

下記のコードはテーマのheader.phpの</head>の前に記載いただくと現在表示中ページの任意のスラグでメタタイトル、メタデスクリプション、メタキーワードを出力します。

<?php

$page_slug = get_query_var('pagename');//ページのスラグ(URLの最後のスラッシュ以降の1単語のスラグ)
$post_type = get_query_var('post_type');//カスタム投稿タイプのスラグ
$post_id = get_queried_object_id();//投稿のID

switch($page_slug){ //スラグで切り替える例
    case '任意のページスラグ':
        $title = "任意のページスラグの場合のメタタイトル";
        $description = "任意のページスラグの場合のメタデスクリプション";
        $keyword = "メタキーワード1,メタキーワード2,メタキーワード3";
    break;
    default: //上記以外のスラグの場合
        $title = "その他の場合のメタタイトル";
        $description = "その他の場合のメタデスクリプション";
        $keyword = "メタキーワード1,メタキーワード2,メタキーワード3";
    break;
}

?>

<meta name="title" content="<?php echo $title ?>">
<meta name="description" content="<?php echo $description ?>">
<meta name="keyword" content="<?php echo $keyword ?>">

header.phpに記載して、現在表示中のページのスラグ、投稿タイプ、投稿IDを取得するコードはそれぞれ下記となります。

$page_slug = get_query_var(‘pagename’);
ページのスラグ(URLの最後のスラッシュ以降の1単語のスラグ)

$post_type = get_query_var(‘post_type’);
カスタム投稿タイプのスラグ

$post_id = get_queried_object_id();
投稿のID

上記例ではSwitch文で$page_slugで場合分けしメタデスクリプション等を定義の上HTMLのMETAタグで出力しています。

$post_typeで切り替える場合は下記のようなSwitch文となります。

switch($post_type){ //スラグで切り替える例
    case '任意のカスタム投稿タイプのスラグ':
        $title = "任意のカスタム投稿のスラグの場合のメタタイトル";
        $description = "任意のカスタム投稿のスラグの場合のメタデスクリプション";
        $keyword = "メタキーワード1,メタキーワード2,メタキーワード3";
    break;
    default: //上記以外のスラグの場合
        $title = "その他の場合のメタタイトル";
        $description = "その他の場合のメタデスクリプション";
        $keyword = "メタキーワード1,メタキーワード2,メタキーワード3";
    break;
}

投稿IDで切り替える場合は下記のようなSwitch文となります。

switch($post_id){ //スラグで切り替える例
    case '5':
        $title = "POST ID 5の場合のメタタイトル";
        $description = "POST ID 5の場合のメタデスクリプション";
        $keyword = "メタキーワード1,メタキーワード2,メタキーワード3";
    break;
    default: //上記以外のPAGE IDの場合
        $title = "その他の場合のメタタイトル";
        $description = "その他の場合のメタデスクリプション";
        $keyword = "メタキーワード1,メタキーワード2,メタキーワード3";
    break;
}

参考になりましたら幸いです。

WordPress ワードプレスのテーマやプラグインのコーディングのご依頼・ご相談はWPドクターまでお気軽にお送りください