支援者募集中!仕事依頼はこちら

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

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

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'); ?>">

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

コメント

ページトップへ