ブログを続けている最大の理由は、自分へのメモ帳です。なぜなら、ドハマりした事例でも詳細までは覚えておらず、再び同じシーンに出くわしても、結局は調べ直して時間の無駄と記憶力の無さを感じてしまうからです。
『今頃、プラグインエラー?』と思うかも知れませんが、結局は続ける限り付きまとう基本です。今回は、PHPアップグレードでありがちな『記事が表示されない原因』の突き止め方をメモ致します。
目次
バージョンアップ後にやるチェック
ワードプレスのバージョンアップ関連で、陥りがちなのが『プラグインエラー』です。それを『重大なエラー』と表現されてしまうと特に初心者の方は、この世の終わりを感じてしまうかも知れません。
しかし、理由は単純。
ワードプレスが『ファミコン』だとしたら『ソフト』や『外付けコントローラー』は、企画をファミコンに合わせる必要がありますよね。それと同じで、ワードプレスが仕様変更すれば、テーマやプラグインもその仕様に合わせなくてはなりません。しかし開発者が別な為、間に合わなかったり、既に存在しなかったりすることもあるのです。
今回は、一部の記事が表示出来なくなりました。
デバッグモードを発動させる
『wp-config.php』の場所
/ドメイン/public_html/wp-config.php
『Filezilla』などのFTPソフトを使い『wp-config.php』をダウンロードします。macなら直接、Windowsなら『Tere Pad』などを使用して中身を書き換え、上書きアップロードする流れです。
1 2 3 4 5 6 7 8 9 10 11 |
/** * 開発者へ: WordPress デバッグモード * * この値を true にすると、開発中に注意 (notice) を表示します。 * テーマおよびプラグインの開発者には、その開発環境においてこの WP_DEBUG を使用することを強く推奨します。 * * その他のデバッグに利用できる定数については Codex をご覧ください。 * * @link http://wpdocs.osdn.jp/WordPress%E3%81%A7%E3%81%AE%E3%83%87%E3%83%90%E3%83%83%E3%82%B0 */ define('WP_DEBUG', false); |
一番下の行に注目。
1 |
define('WP_DEBUG', false); |
ここの『false』を『true』へ書き換えます。
1 |
define('WP_DEBUG', true); |
保存した『wp-config.php』をFTP経由で上書きすれば完了。
システムに問題が生じた場合は、サイト上部にエラーメッセージが表示されるようになります。
その文面から、どこで何が起きているのかが分かるようになるのです。
ちなみに、解決したら『false』へ戻しておきましょう。
『Crayon Syntax Highlighter』エラーが原因
今回は『Crayon Syntax Highlighter』という、記事内にソースコードを張れるプラグインが原因でした。ちにみに、この記事内でも使用しています。必須アイテムなので、エラー修正することにしました。
前項と同じ、デバッグエラーのFTP上書き修正法で解決します。
crayon_langs.class.php
『crayon_langs.class.php』の340行目辺りを見て下さい。
1 |
return preg_replace('/[^\w-+#]/msi', '', $id); |
この部分を、書き換えます。
1 |
return preg_replace('/[^\w\-+#]/msi', '', $id); |
分かり辛いですが、このように変更します。
crayon_formatter.class.php
『crayon_formatter.class.php』内は『2ヶ所修正』します。
1ヶ所目
『crayon_formatter.class.php』の88行目辺りを見て下さい。
1 |
const SHOW_MIXED = 'show_mixed'; |
この部分を、書き換えます。
1 |
const SHOW_MIXED = 'show-mixed'; |
このように変更します。
2ヶ所目
『crayon_formatter.class.php』の229行目辺りを見て下さい。
1 |
new CrayonSetting(self::SHOW_MIXED, TRUE), |
この部分を、書き換えます。
1 |
new CrayonSetting(self::SHOW_MIXED, FALSE), |
このように変更します。
これで、サイト記事が表示されていれば成功です。
忘れずに『wp-config.php』の『false』を『false』へ戻しておきましょう。