the thorには、テーマの独自の拡張でメタデスクリプションを設定できます。この内容をSEO SIMPLE PACKプラグインでも利用できたり、出力できるようにする方法を解説いたします。


THE THOR「ザ・トール」 のメタデスクリプションの設定をSEO SIMPLE PACKに引き継ぐ

ワードプレスのテーマthorを変えた場合、thorに設定されていたメタデスクリプションが出力されなくなります。しかし、SEO SIMPLE PACKプラグインを利用することで、thorのようにメタデスクリプションを設定できるようになりますが、thorで設定されたメタデスクリプションは引き継がれません。
この場合、SEO SIMPLE PACKプラグインにメタデスクリプション設定を引き継ぐ方法となります。

1 THE THOR のメタデスクリプションの設定があり、SEO SIMPLE PACKに設定がない場合、THE THORのメタデスクリプションをサイトのページで出力する

この為のコードは下記のようになります。(今お使いのテーマのfunction.phpに記載いただくと動作します)

add_filter( 'ssp_output_description', function( $ssp_description ) {
    $post_id  = get_the_ID();
    $thor_description = trim(get_post_meta( $post_id, 'description', true ));
    $ssp_descriptionmeta = trim(get_post_meta( $post_id, 'ssp_meta_description', true ));
    if(empty($ssp_descriptionmeta) && ! empty($thor_description)){
        return $thor_description;
    }
    return $ssp_description;
});

SEO SIMPLE PACKがメタデスクリプションを出力する際に、割り込む処理add_filter( ‘ssp_output_description’を使い、thorのメタデスクリプション設定をポストメタ情報の ’description’ から取得、SEO SIMPLE PACKのメタデスクリプション設定をポストメタ情報の’ssp_meta_description’から取得し、

empty($ssp_descriptionmeta) && ! empty($thor_description) 
でthorのメタデスクリプション設定だけがある場合にthorのメタデスクリプションを出力します。

2 THE THOR のメタデスクリプションの設定があり、SEO SIMPLE PACKに設定がない場合、THE THORのメタデスクリプションをSEO SIMPLE PACKのメタデスクリプションにコピーする

この為のコードは下記のようになります。

function copythormata_action( $post ) {
    $screen = get_current_screen();
    if( is_admin() && $screen->post_type == 'post' && $_GET['action']=='edit') {
        $post_id = $post->ID;
        if($post_id){
            $thor_description = trim(get_post_meta( $post_id, 'description', true ));
            $ssp_description = trim(get_post_meta( $post_id, 'ssp_meta_description', true ));
            if(empty($ssp_description) && ! empty($thor_description)){
                update_post_meta( $post_id, 'ssp_meta_description', $thor_description );
            }
        }
    } 
}
add_action( 'the_post', 'copythormata_action' );

まず、投稿の編集画面を判定し、get_post_meta( $post_id, ‘description’, true )とget_post_meta( $post_id, ‘ssp_meta_description’, true )でそれぞれのメタデスクリプションを取得し、 thorのメタデスクリプション設定だけがある場合にthorのメタデスクリプションを編集前にSEO SIMPLE PACKにコピーしてしまいます。

この為、投稿の編集画面で、thorのメタデスクリプションがあった場合SEO SIMPLE PACKで編集等ができるようになります。

thorにはメタタイトル(メタデスクリプション名 ’title’)も設定可能で、こちらのSEO SIMPLE PACKのメタデスクリプションは’ssp_meta_title’ になっています。
こちらも同様のコードで編集や出力可能にすることも可能です。

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