とりあえず修正版Simplicity2.2.0dをアップしておきました。ダウンロードはこちら。以下は、2.2.0dにアップしないで修正だけしたいとか、他のテーマやプラグインを利用している場合の修正方法としてご利用ください。
先日、Wordpress4.5.3に自動アップデートされました。
そしたら、これまでURLなどを挿入してSimplicityのブログカードを表示していた場合は、以下のようなWordpress仕様のブログカード(以下、WPブログカード)が表示されるようになってしまいました。
これは、投稿ページや固定ページに記事を投稿すると現れる症状で、これまでの投稿などでは表示されません。
なので、記事を投稿時に「WPブログカードを表示する処理」が行われているものと思われます。
これだと、ちょっと不味いので、投稿時に「WPブログカードを表示する処理」を行わないようにする方法を調べてみました。
ただ、それらしい方法が見つからなかったので、とりあえずそれっぽいフィルターを取り除いたら、WPブログカードを表示しないで、Simplicityブログカードが表示されるようになったので、そのカスタマイズ方法の紹介です。
投稿時にWPブログカードを無効化する方法
投稿や固定ページの公開時にWPブログカードを表示させないようにするには、functions.phpに以下のコードを記述します。
remove_filter( 'pre_oembed_result', 'wp_filter_pre_oembed_result');
取り急ぎ、何とかするためそれっぽいフィルターを取り除いただけなので、どういう原理でなっているかまでは調べていません。
とりあえず、このコードを書いた後の投稿では、僕の環境ではWPブログカードは表示されなくなったようです。多分。
同様のURLを記述してブログカードを表示するプラグインなどにも有効化と思います。
詳しい検証をしていないものでよければ試してみてください。
試しにブログカード表示。
ただし既にWPブログカードが表示されているものは無効化できない
ただ、前項目の方法では、「既に新たなポストをしてしまってWPブログカードが表示されている記事」は、そのまま表示されてしまいます。
既に、WPブログカードが表示されてしまったものは、今のところ無効化する方法はわかっていません。(取り急ぎいろいろ試しましたが)
何か、良い方法をご存知であれば、コメントなどで教えていただけると幸いです。(教えていただきました。方法は以下)
追記:WPブログカードのキャッシュを削除する方法
コメント等で、既に表示されてしまっているWPブログカードのキャッシュを削除する方法を教えていただきました。
teruさんのサイトの以下のページに、わかりやすく書かれています。
その他の対処方法
その他の対処方法として、URLを挿入するとき以下のようなリンク形式で挿入するという方法もあります。
<a href="URL">URL</a>
詳しいブログカードの仕様は以下を参照してください。
この方法だと、Wordpress4.5.3の問題は出ないかと思います。
コメント
プログラマーでもなんでもない個人の利用者としてのささやかな情報提供なのですが、私の環境では外部リンクは正常で、内部リンクだけが不具合を起こしています。とりあえずは正式なリンク形式で記述することで対処していますが、解決することを願っています。
1.9.3を使用中です。内部リンクだけがWPブログカードになりました。
フィルターを追記してWPブログカードが表示されなくなりました。
リンクの記述は、単にURLを書いただけです。
バージョン2.1.0 20160227oを使用している者です。
この件に関して記事を書きました。
https://technote.space/blog/archives/782
参考になればと思います。
>匿名さん
Simplicity2を利用している場合は、新しいものにアップしておきました。
Simplicity1を利用している場合は、今回のカスタマイズを行ってください。
WPブログカードもキャッシュを削除するには、teruさんの書かれた以下の方法を試してみてください。
【Simplicity2】WordPress4.5.3のブログカード仕様変更への対応方法
>teruさん
教えていただきありがとうございます!
なるほど、キャッシュが作られて、あのように表示されていたのですね。
とても参考になりました。助かりました!