Simplicityで外部ブログカードが表示されない時【WordPress】

この記事は約4分で読めます。

2015-04-09WordPressカスタマイズ

質問者の写真

Simplicityで外部ブログカードが出なくなっちゃったよっ! 
 

Simplicityで外部ブログカードがただのテキストに!

文字通りなんですが……それだけじゃありませんでした。
テキストでリンクすら挿入できなくなりました。
何これ!?

ブログカードが表示されない対処法を探す

まず本家サイトに行きました。
するとこんなスレが見つかる。

パーマネントリンク関係のプラグインなんて入れてないしなあ……。
リンクについては、入れると自動で削除される有様。
最初から試すも何もありません。

問題の切り分け

原因を探るために、切り分けていきます。

まず原因は親テーマか子テーマか。
子テーマから親テーマに切り替えると、ちゃんと表示されました。
つまり原因は子テーマの記述にあります。
(こういうのはカスタマイズの不手際によって生じるものが大半ですから当然ではあるのですが)

ここで子テーマを一旦ダウンロードしてサーバーから削除。
まっさらな子テーマをインストールし直します。
続けて、カスタマイズしたファイルをstyle.css、header-insert.php、functions.phpの順番で戻していきました。

質問者の写真

あっ! わかった!
 

なぜ、外部ブログカードが表示されなくなったのか

解答者の写真
原因は、子テーマのfunctions.phpに追加した記述にありました
具体的には「WordPressの自動整形機能を無効にするためのコード」です
 
remove_filter('the_content','wpautop'); // 記事の自動整形を無効にする
remove_filter('the_excerpt','wpautop'); // 抜粋の自動整形を無効にする

消したら無事に動きました。

質問者の写真

WordPressって打ちづらい
 

それが私の第一印象でした。
なんせコピペでも改行がぐだぐだになるんですから。

すると、あちこちの初心者用のサイトで「自動整形を無効にするといいよ」と書いてある。
切ってみたら、確かに打ちやすくなりました。
そして切ってからもしばらくはブログカード表示されていました。
表示されなくなったのはきっと、後に入れたプラグインなどが干渉してしまったとかではないかと思います。

【2016/11/19追記】 抜本的な解決法

自動整形を切っている場合は、次のコードを

    $res = preg_match_all('/^(<p>)?(<a.+?>)?https?:\/\/'.preg_quote(get_this_site_domain()).'\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+(<\/a>)?(<\/p>)?(<br ? \/>)?$/im', $the_content,$m);

以下の通り修正してください。これで動くと思います。

    $res = preg_match_all('/^(<a.+?>)?https?:\/\/'.preg_quote(get_this_site_domain()).'\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+(<\/a>)?(<br ? \/>)?$/im', $the_content,$m);

参考ページ

ブログカードを利用する際に心掛けたいこと

解答者の写真
Simplicity作者のわいひら様も述べてますが、URLだけを打ち込むよりリンクをつけた方がいいです
 

わいひら様の掲げる理由。

テーマを変える可能性を見越して

でも、それだけじゃない。
今回みたいなトラブルもありますから。

Simplicityに限らず、どのテーマでも同じです。

結論

解答者の写真
外部ブログカードが表示されないときは、自動整形機能も疑ってみて
いざというときのために、URLは「<a href="http://……」の形式で書いてね
 

 

※当サイトの会話アイコンはカスタムキャストで作成しています。©2018-2019 Custom Cast, Inc.
この記事を書いた人:天満川 鈴

広島市内のパチンコホール勤務。
3号機時代からのパチンカス。

ADHD、精神障害者手帳3級所持。

慶應義塾大学商学部→国家一種経済職→公安調査庁。
在職時は国際テロ、北朝鮮を担当。

「小説家になろう」の底辺作者。
朝鮮総聯へのスパイ工作を描いた小説「キノコ煮込みに秘密のスパイスを」はアマチュア小説ながら週刊誌報道され、話題となった。

Posted by 天満川 鈴