Twitterはこちら仕事依頼はこちら

JINで固定ページをトップにするとディスクリプションが2つに重複する問題

JINディスクリプションが重複してる?

当サイトでは、Amazonアソシエイトをはじめとした第三者配信のアフィリエイトプログラムにより商品・サービスをご紹介、適格販売により収入を得ています。

JINで固定ページをトップページに設定するとディスクリプションが反映されないとご連絡いただきました。

固定ページをトップページにする方法はこちらの記事をご覧ください。

参考 JINのトップページをサイト型にカスタマイズ!

どこよりも簡単にJINのトップページをサイト型にカスタマイズ!
WordPress「JIN」のトップページをサイト型にカスタマイズする方法!記事がズラーっと並べてあるものを自由自在にオリジナルのトップページが作れるようになります。ブログカードを利用するので操作も簡単に!JINで新着記事を取得するショートコードも作りました。

公式がいつかアップデートで修正してくれる可能性がありますがそれまでの対処方法になります。

JINのディスクリプション設定方法

JINのトップページのディスクリプション設定はカスタマイズ設定から行えます。

外観カスタマイズサイト基本設定

JINサイト基本設定

一般的にはこの設定だけでトップページのディスクリプションが設定されます。

しかし…固定ページをトップページにするといくつか問題が発生します。

JINディスクリプション問題

JINで固定ページをトップページにするとディスクリプションが思った動きをしてくれません。

ディスクリプションが重複する

ソースコードを見てみると…

JINトップページディスクリプション重複

ディスクリプション重複してる!?

このディスクリプションは「カスタマイズの基本設定」で設定したディスクリプションと固定ページに書いたディスクリプションが表示されています。

jin固定ページディスクリプション

ちなみに↑の固定ページのディスクリプションに何も入れなくてもタグは重複されて表示されてしまいます

これはよろしくありません…!

SNSのOGPディスクリプションが反映されない

SNSで表示されるOGPのディスクリプションは…

JINトップページOGPディスクリプション

重複はしていないけどトップページのディスクリプションが反映されません。

固定ページのディスクリプション設定が反映されているそうです。

「違うんだ…!そうじゃない!」

どうやらJINは固定ページをトップページにすることを想定していない作りになっているみたいです。

ディスクリプション対策方法

現状は2つのファイルを編集する必要があります。

変更するファイル
  • ogp.php
  • header.php

子テーマで編集しなければいけないんですが子テーマにはこの二つのファイルは入っていません。

ですので、自分でファイルを入れなければいけません。

  1. 親テーマから上記2つのファイルをダウンロード
  2. 子テーマに入れる
  3. 子テーマを編集

この順でやっていかなければいけないのですが…

「めんどくせぇ!!」

そんな方のために編集済みのファイルをダウンロードできるようにしました。

こちらをクリック

ダウンロードしたファイルを解凍すると「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'); ?>">

以上です!おつかれさまでした!

コメント

  1. いつもブログ読ませて頂いております。
    大変参考になる記事ばかりでブログ運営のための必要知識がわかりやすく参考になっております、ありがとうございます。
    特にJINのトップページをサイト型にカスタマイズ!での記事はとても参考になりました。
    一点ご質問があります、JINのトップページをサイト型にカスタマイズした後に、本記事のファイルをアップロードしましてディスクリプリションを設定させようと思ったのですが、なぜかワードプレスエラー表示が出てしまいます。(エラー表示画面は、記事に飛ぶとサイトに重大なエラーがありましたと表示)お手数なのですがもしこの症状についてお分かりでしたらお教えて頂けませんでしょうか?

    • >べっちさん

      返信遅くなりました。ありがとうございます。

      エラーが出てしまうんですね。
      差し支えなければどんなエラーが出るかお教えいただけますでしょうか。

ページトップへ