WordPressの有料テーマ「THE THOR(ザ・トール)」の重大な欠陥?を見つけたので直しました。
記事下に表示される関連記事に同じタグの記事を優先的に表示する方法を解説します
プログラミング言語のphpを利用するので少し難しいですが、プログラミングを知らなくても分かるように解説します。
ちなみに公開時のThe THORのバージョンは1.6.1です
前提条件:FTPソフトが使えること
この方法はFTPソフトを使ってファイルをサーバーにアップロードするのでFTPソフトかSSHなどを使う必要があります。
まだ使ったことのないという方はこちらの記事を参考にしてください
WordPress運営者のためにFTPとは何か?そして、FTPの使い方を解説したいとおもいます FTPって何?という全く知らない人でもわかるように解説しています。WEBサイト運営者は必見ですよ WordPressユーザーのためのFT[…]
関連記事に同じタグの記事を表示する方法【THE THOR(ザ・トール)】
テーマエディターからphpのコードを修正するのですが、親テーマのファイルを変更すると
- 更新したときに自動的に書き変えられて元に戻ってしまう
- 間違えて保存してしまったときに戻せなくなる可能性がある
という欠点があるので、子テーマに修正したファイルを複製します。(つまり、親テーマを変更してもいい!という人はFTPを利用する必要は無いですが、非推奨)
次からはその具体的な方法を一から解説しています
1. 親テーマファイルからsingle.phpをコピー
- WordPress管理画面から外観→テーマエディターを選択
- 編集するテーマにTHE THORを選択
- 個別投稿(single.php)を探してコードを開く
- Ctrl + A でコードをすべて選択
- Ctrl + C でコピー
注意:PHPが分からない人は絶対に親テーマを保存(更新)しないでください。間違えて変更してしまったらたぶん元に戻せなくなります
2. コピーしたsingle.phpを編集
- メモ帳などの文章が直せるソフト(エディタ)を開き、貼り付け(wordはだめ)
- 下記のように変更
- ファイル名を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の修正すべき点を見つけ次第、公開していきたいと思います
少しでも参考になれば幸いです