ブログ運営

WPテーマJINのブログカード表示されない原因がオートフォーマット無効のphpだった。

ブログをワードプレステーマ「JIN」で開設して、しばらくしてからブログカードがうまく表示されないことに気付きました。

そのときの事をこれからワードプレスと「JIN」でWEBサイトを始める方のために備忘録として残しておきます。

 

オートフォーマート対策にいれたphpが原因でした

ぼくの場合は
カスタマイズで入れたphpが原因でした。

classic editerのテキストとビジュアルの変更時に、テキストのフォーマットくずれる問題の対処にてきとうにググって入れたphpが原因です。

ぼくの環境だと、下記のコードを入れるとブログカードがほぼ表示されなくなります。

// オートフォーマット関連の無効化
// ※※※ おそらくここのどれかが原因でブログカードが表示されなくなる。※※※
add_action('init', function() {
	remove_filter('the_title', 'wptexturize');
	remove_filter('the_content', 'wptexturize');
	remove_filter('the_excerpt', 'wptexturize');
	remove_filter('the_title', 'wpautop');
	remove_filter('the_content', 'wpautop');
	remove_filter('the_excerpt', 'wpautop');
	remove_filter('the_editor_content', 'wp_richedit_pre');
});

※自分の環境だと、コードの一部もしくは全部が干渉しているようです。

 

すみませんが、自分はフォーマットが崩れる問題は一旦、後回しにすることにしたので、上記コード一行ずつの原因特定はしてません。

 

JINでは本来かんたんにブログカードを作成できます

作り方は以下のリンクの公式サイトをみてください。

 

ブログカードが表示されないと気づいた経緯

JINのマニュアルをあまり読まないで始めた自分が悪いのですが、20記事書き終わるまでJINの標準機能でブログカードを入れられるの気が付きませんでした。

初期記事のリライトをはじめて、やっと気付きました。

つめまる
つめまる
ざっくりでいいのでマニュアルは読みましょう(自戒)

気付くまではショートコードをコピーして自分でテキストを入れていました。

いやぁ、どうりで他のブロガーさんの
「JINのブログカードめっちゃ簡単〜」っていう
ツイートの声と、自分の認識との違和感があると思いましたね(笑)


パーマリンク入れてもほとんどブログカード表示がされない…

※新規記事のドアタマ(先頭)にパーマリンクのみ入れたときだけ表示されました。

そこから問題対処の旅がはじまりました。

 

ブログカード問題対処の旅

同じ問題がおきた方のWEBサイトを参考にして以下を試しました。

ためした方法
  1. パーマリンクの前後の無駄な記載を削除する
  2. パーマリンクをID表記にする
    「https://tumemaru.com/?p=記事のID
  3. 子テーマを再インストールする

1と2では直りませんでした。

3は効果があって直りました。

※パーマリンクはID表記にしなくても自動でブログカード化されるみたいです。

ただ再インストールは、
「家をこわして更地にして新築の家をたてる」
のイメージに近いから、だいたいは直ることが多いです。

つめまる
つめまる
いやな予感がする…?

 

そしてとりあえず直ったーと思いながら、
もともとカスタマイズしていたphpコードのを追加する。

ぼくはブログカードが表示されない問題が発覚した時点で以下のようなphpコードを追加していました

追加していたphpコード
  • オートフォーマット関連の無効化
  • エディタ内でtabキーの有効化
  • tabのスペースを2文字に変更

 

phpコードを追加したら

ブログカードが表示されなくなりました。

そこから原因究明の旅がはじまりました。
※どのphpコードが原因か。

 

phpのカスタマイズは自己責任です。(自戒)

phpをカスタマイズするときは、
正常なファイルをバックアップとりつつ、
コード追加はすこしずつやりましょう。かつ毎回WEBサイトの動作を確認しましょう。

 

自分用の手順(FTPを使用)
  1. 修正前のfunction.phpを必ず、function_201907051500.phpなどとリネームしてコピーしバックアップしておく。
  2. ブログカード等が正常表示されているか確認。
  3. 新規コード追加したfunction.phpをアップロード。
  4. ブログカード等が正常表示されているか確認。