WP ページ毎にmeta descriptionを変更 管理画面からディスクリプション登録

functions.phpに下記を追記します。

カスタムポストがある時にはadd_meta_box('my_sectionid', 'メタ設定', 'my_custom_fields', 'news-list'); //カスタムポストここをカスタムポスト名に変更します。

functions.php

/**
 * 管理画面からディスクリプション登録
 **/

/* admin_menu アクションフックでカスタムボックスを定義 */
add_action('admin_menu', 'add_custom_fields');
/* データが入力された際 save_post アクションフックを使って何か行う */
add_action('save_post', 'save_custom_fields');

// 記事ページと固定ページでカスタムフィールドを表示
function add_custom_fields()
{
    add_meta_box('my_sectionid', 'メタ設定', 'my_custom_fields', 'post');
    add_meta_box('my_sectionid', 'メタ設定', 'my_custom_fields', 'page');
    add_meta_box('my_sectionid', 'メタ設定', 'my_custom_fields', 'news-list'); //カスタムポスト
}

function my_custom_fields()
{
    global $post;
    $description = get_post_meta($post->ID, 'description', true);
    echo '<p>ページの説明(description)160文字以内<br>';
    echo '<input type="text" style="width: 600px;height: 40px;" name="description" value="' . esc_html($description) . '" maxlength="160"></p>';
}

// カスタムフィールドの値を保存
function save_custom_fields($post_id)
{
    if (!empty($_POST['description']))
        update_post_meta($post_id, 'description', $_POST['description']);
    else delete_post_meta($post_id, 'description');
}

function page_description()
{

    // カスタムフィールドの値を読み込む
    $custom = get_post_custom();
    if (!empty($custom['description'][0])) {
        $description = $custom['description'][0];
    }
?>
    <?php if (is_home()) : // トップページ 
    ?>
        <meta name="robots" content="index, follow">
        <meta name="description" content="">
    <?php elseif (is_single()) : // 記事ページ 
    ?>
        <meta name="robots" content="index, follow" />
        <meta name="description" content="<?php echo $description ?>">
    <?php elseif (is_page()) : // 固定ページ 
    ?>
        <meta name="robots" content="index, follow" />
        <meta name="description" content="<?php echo $description ?>">
    <?php elseif (is_404()) : // 404ページ 
    ?>
        <meta name="robots" content="noindex, follow">
        <title><?php echo 'お探しのページが見つかりませんでした'; ?></title>
    <?php else : // その他ページ 
    ?>
        <meta name="robots" content="noindex, follow">
    <?php endif; ?>
<?php
}

管理画面から登録できるようになっているので確認

headに表示させるコードを追加

header.phpに下記記述

<?php page_description(); ?>

下記サイトを参考にさせていただきました!感謝!!!

wordpressでdescription、keywordをページごとに設定する方法|株式会社TORAT|東京都中央区のweb制作会社