【THE THOR(ザ・トール)】関連記事に同じタグの記事を表示する方法

  • 2020年1月7日
  • 2020年3月3日
  • THE THOR

WordPressの有料テーマ「THE THOR(ザ・トール)」の重大な欠陥?を見つけたので直しました。
記事下に表示される関連記事に同じタグの記事を優先的に表示する方法を解説します

プログラミング言語のphpを利用するので少し難しいですが、プログラミングを知らなくても分かるように解説します。

ちなみに公開時のThe THORのバージョンは1.6.1です

前提条件:FTPソフトが使えること

この方法はFTPソフトを使ってファイルをサーバーにアップロードするのでFTPソフトかSSHなどを使う必要があります。

まだ使ったことのないという方はこちらの記事を参考にしてください

まずはこちらをチェック

WordPress運営者のためにFTPとは何か?そして、FTPの使い方を解説したいとおもいます FTPって何?という全く知らない人でもわかるように解説しています。WEBサイト運営者は必見ですよ WordPressユーザーのためのFT[…]

WordPressユーザーのためのFTPの使い方と解説

関連記事に同じタグの記事を表示する方法【THE THOR(ザ・トール)】

関連記事に同じタグの記事を表示する方法

テーマエディターからphpのコードを修正するのですが、親テーマのファイルを変更すると

  • 更新したときに自動的に書き変えられて元に戻ってしまう
  • 間違えて保存してしまったときに戻せなくなる可能性がある

という欠点があるので、子テーマに修正したファイルを複製します。(つまり、親テーマを変更してもいい!という人はFTPを利用する必要は無いですが、非推奨)

次からはその具体的な方法を一から解説しています

1. 親テーマファイルからsingle.phpをコピー

  1. WordPress管理画面から外観→テーマエディターを選択
  2. 編集するテーマにTHE THORを選択
  3. 個別投稿(single.php)を探してコードを開く
  4. Ctrl + A でコードをすべて選択
  5. Ctrl + C でコピー

注意:PHPが分からない人は絶対に親テーマを保存(更新)しないでください。間違えて変更してしまったらたぶん元に戻せなくなります

2. コピーしたsingle.phpを編集

  1. メモ帳などの文章が直せるソフト(エディタ)を開き、貼り付け(wordはだめ)
  2. 下記のように変更
  3. ファイル名をsingle.phpとして保存(single.php.txtにならないように注意)

変更前(515行目)

‘tag_not_in’ => $tag_ids,

変更後(515行目に//を追加)

//‘tag_not_in’ => $tag_ids,

この一行の先頭に//を加えることで、コメントアウトします(実質消しているのと同じです)

3. 子テーマにsingle.phpをアップロード

FTPソフトを使ってサーバーに先程作成したsingle.phpをアップロードします

アップロードする場所は example.com/public_html/wp-content/themes/the-thor-child/single.php ですwp-contentの場所はワードプレスをインストールする条件によって異なるので違う可能性がありますが、普通にインストールしたなら同じ場所だと思います。

これで完了です。上手くいけば関連記事に同じタグの記事が表示されるようになるはずです。(もちろんキャッシュやcookieを消してからですよ)

原因:The THOR開発者のミスだと考えられる

原因は明らかに開発者が間違えて余計な一行を入れてしまったからです。
関連記事が同カテゴリの記事しか表示しないのでテーマファイルを確認していたら開発者のミスを発見してしまいました笑

コメントでは同タグの記事を取得するって書いてあるので絶対に間違えてます

single.phpの間違っている箇所(プログラムのお話)

$tag_args = array( 				'post__not_in' => array($post -> ID), 				'tag__not_in' => $tag_ids, 				'posts_per_page'=> $max_post_num, 				'tag__in' => $tag_ids, 				'orderby' => 'rand', 			);

このsingle.phpの一部のプログラムにおいて、$tag_argsはget_posts()の引数となって関連記事として取得する記事の選択方法を指定しているのですが、

なぜか ’tag__not_in’ => $tag_ids, によって除外するタグにその記事のタグが指定されていました。つまり同じタグの記事は取得しないようになっています。

この後同カテゴリの記事を新たに取得して関連記事に加えるので結果的に同カテゴリの記事しか表示されないようになってしまっているんです。
これは明らかな間違いですよね(わかりにくくてすみません)

まとめ:THE THORはまだ発展途上

The THORはまだ最近開発されたばかりのテーマなので、まだ不具合が少しありますね
でも、他の有料テーマとは明らかに一線を引いているので私は気に入っています。

これからもThe THORの修正すべき点を見つけ次第、公開していきたいと思います

少しでも参考になれば幸いです

当サイトでも利用している筆者愛用のWordPressの有料テーマ「THE THOR(ザ・トール)」

圧倒的なSEO対策の強さ!しかもプラグインはほぼ不要!そして他のテーマとは明らかに違ったおしゃれなデザイン!。

SEO対策は標準で搭載されているので知識がほとんど不要で、初心者にこそおすすめできる最強の有料テーマとなっています

THE THORの使い方の記事も要チェック! >>THE THORの記事一覧へ

デモサイトの確認やテーマの購入はこちらからできます!

【圧倒的にSEOに強く・上位表示されやすいWordPressテーマ】 THE・THOR(ザ・トール)|テーマ&サポートプラン