JINで固定ページをトップページに設定するとディスクリプションが反映されないとご連絡いただきました。
固定ページをトップページにする方法はこちらの記事をご覧ください。
公式がいつかアップデートで修正してくれる可能性がありますがそれまでの対処方法になります。
JINのディスクリプション設定方法
JINのトップページのディスクリプション設定はカスタマイズ設定から行えます。
外観→カスタマイズ→サイト基本設定
一般的にはこの設定だけでトップページのディスクリプションが設定されます。
しかし…固定ページをトップページにするといくつか問題が発生します。
JINディスクリプション問題
JINで固定ページをトップページにするとディスクリプションが思った動きをしてくれません。
ディスクリプションが重複する
ソースコードを見てみると…
ディスクリプション重複してる!?
このディスクリプションは「カスタマイズの基本設定」で設定したディスクリプションと固定ページに書いたディスクリプションが表示されています。
ちなみに↑の固定ページのディスクリプションに何も入れなくてもタグは重複されて表示されてしまいます。
これはよろしくありません…!
SNSのOGPディスクリプションが反映されない
SNSで表示されるOGPのディスクリプションは…
重複はしていないけどトップページのディスクリプションが反映されません。
固定ページのディスクリプション設定が反映されているそうです。
「違うんだ…!そうじゃない!」
どうやらJINは固定ページをトップページにすることを想定していない作りになっているみたいです。
ディスクリプション対策方法
現状は2つのファイルを編集する必要があります。
- ogp.php
- header.php
子テーマで編集しなければいけないんですが子テーマにはこの二つのファイルは入っていません。
ですので、自分でファイルを入れなければいけません。
- 親テーマから上記2つのファイルをダウンロード
- 子テーマに入れる
- 子テーマを編集
この順でやっていかなければいけないのですが…
「めんどくせぇ!!」
そんな方のために編集済みのファイルをダウンロードできるようにしました。
ダウンロードしたファイルを解凍すると「ogp.php」「header.php」が入ってると思うのでそれを子テーマに入れてください。
FTPソフトで入れる必要があります。
使い方がわからない方はサルワカさんをご覧ください。
参考 【FileZillaの使い方】WordPressでFTPソフトを使おう
入れる場所は「ドメイン/public_html/wp-content/themes/jin-child」です。
コードの何を編集したか
header.php
11行目を変更しています。
Before
<!DOCTYPE html> <html lang="ja"> <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# article: http://ogp.me/ns/article#"> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <?php get_template_part( 'ogp' ); ?> <?php if( ! get_theme_mod('desc_text') == "" && is_home() || is_front_page() ): ?> <meta name="description" itemprop="description" content="<?php echo get_theme_mod('desc_text'); ?>"> <?php endif; ?> <?php if( is_single() || is_page() ): ?> <?php if ( ! get_post_meta($post->ID, 'post_desc',true) == null ) :?> <meta name="description" itemprop="description" content="<?php echo get_post_meta($post->ID, 'post_desc',true) ?>" >
After
<!DOCTYPE html> <html lang="ja"> <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# article: http://ogp.me/ns/article#"> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <?php get_template_part( 'ogp' ); ?> <?php if( ! get_theme_mod('desc_text') == "" && is_home() || is_front_page() ): ?> <meta name="description" itemprop="description" content="<?php echo get_theme_mod('desc_text'); ?>"> <?php endif; ?> <?php if( is_single() || is_page() && !(is_home() || is_front_page())): ?> <?php if ( ! get_post_meta($post->ID, 'post_desc',true) == null ) :?> <meta name="description" itemprop="description" content="<?php echo get_post_meta($post->ID, 'post_desc',true) ?>" >
ogp.php
11行目を変更しています。
Before
<!-- ここからOGP --> <meta property="og:type" content="blog"> <?php global $post; if( is_single() || is_page() ){ $description = get_post_meta($post->ID, 'post_desc', true); $use_excerpt = $post->post_excerpt; } $description_home = get_theme_mod('desc_text'); ?> <?php if ( is_singular() ): ?> <?php if( ! get_post_meta($post->ID, 'jin_seotitle',true) == null ) :?> <meta property="og:title" content="<?php echo get_post_meta($post->ID, 'jin_seotitle',true); ?>|<?php bloginfo('name'); ?>"> <?php else: ?>
After
<!-- ここからOGP --> <meta property="og:type" content="blog"> <?php global $post; if( is_single() || is_page() ){ $description = get_post_meta($post->ID, 'post_desc', true); $use_excerpt = $post->post_excerpt; } $description_home = get_theme_mod('desc_text'); ?> <?php if ( is_singular() && !(is_home() || is_front_page()) ): ?> <?php if( ! get_post_meta($post->ID, 'jin_seotitle',true) == null ) :?> <meta property="og:title" content="<?php echo get_post_meta($post->ID, 'jin_seotitle',true); ?>|<?php bloginfo('name'); ?>">
以上です!おつかれさまでした!
コメント
いつもブログ読ませて頂いております。
大変参考になる記事ばかりでブログ運営のための必要知識がわかりやすく参考になっております、ありがとうございます。
特にJINのトップページをサイト型にカスタマイズ!での記事はとても参考になりました。
一点ご質問があります、JINのトップページをサイト型にカスタマイズした後に、本記事のファイルをアップロードしましてディスクリプリションを設定させようと思ったのですが、なぜかワードプレスエラー表示が出てしまいます。(エラー表示画面は、記事に飛ぶとサイトに重大なエラーがありましたと表示)お手数なのですがもしこの症状についてお分かりでしたらお教えて頂けませんでしょうか?
>べっちさん
返信遅くなりました。ありがとうございます。
エラーが出てしまうんですね。
差し支えなければどんなエラーが出るかお教えいただけますでしょうか。