
当サイトは、Link Indicationを利用して外部リンク制御をしています。
Link Indicationを利用すると、外部リンクに「target=”_blank”」を付加し、新しいタブで開くことができます。
このプラグインを使用することで、外部リンクの動作を統一することができるので、重宝しています。
ただ、このプラグインは、もう7年以上更新されていません。
これまでは、それほど問題なく利用できていたのですが、先日PHP7を適用した時に、外部リンクがある投稿ページで本文が表示されなくなってしまいました。
エラーメッセージを表示させる設定にしても、当環境ではなぜか表示されませんでした。
今回は、この「PHP7でのLink Indicationプラグインの不具合を修正する方法」を紹介したいと思います。
目次
Link Indicationプラグインの不具合を修正方法
まずは、Wordpress管理画面から「プラグイン」→「プラグイン編集」を選択します。
次に「編集するプラグインを選択」項目から「Link Indication」を選択します。
次に「プラグイン編集」エリアで以下のコードを探します。
$final_stuff = eregi_replace('[[:space:]]+', ' ', $final_stuff);
コードを見つけたら、その部分を以下のコードに変更します。
$final_stuff = preg_replace('/[[:space:]]+/i', ' ', $final_stuff);
PHP7で廃止されたeregi_replace関数を、preg_replace関数に変換するといった感じです。
コードを修正したら、「ファイルを更新」を押してください。
今回の変更を行うことで、以下のように外部リンク入りの本文が正常表示されるようになりました。
まとめ
こんな感じで、Link Indicationプラグインのコードを一行修正することで、PHP7でも正常動作するようになりました。
外部リンク制御プラグインは、Link Indicationの他にもあります。
僕も他のプラグインを使ってみたことあるんですが、余計なコードが追加されて、AMP表示したときにエラーが出てしまうものだったので、結局Link Indicationを利用しています。
更新はされていないけど、機能もシンプルで使いやすいのもあったりして。
というわけで「WordpressにPHP7を適用したら本文が表示されなくなった」なんて症状になったら、Link Indicationをインストールしているのであればそれが原因の可能性が高いです。そして、今回の方法でLink Indicationを修正しさえすれば、PHP7でもうまく動作するかもしれません。






 
        