Initial Site

Initial Site

Initial Site

WPの記事をTwitterで連携する際にハマる

  • モリヤ2018/10/01 17:07
b09e7c3a1857a8ad2995dffd23a75b17_s

こんにちは
開発部のモリヤです。

WPの記事を公開する際に様々なSNS媒体と連携しておけば拡散しやすくなるというのは皆さんもご存知と思われますが、先日ちょっとハマったので記事にします。
※ハッキリ言って技術的な問題ではないです。

 

使用したプラグイン

今回は投稿した記事をtwitterで連携したいと思い、プラグインとしてはメジャーな「Jetpack by WordPress.com」を使用しました。

01

インストールから設定までは下記の解説サイトを参考にしました。
JetpackでWordPressとSNSを連携!FacebookやTwitterに自動投稿する方法

 

使ってみると、、、

Twitterとの連携設定を完了し、さっそく記事を公開し連携テストを行ってみると・・・

02

・・・あれ?アイキャッチ画像が表示されないぞ??

 

試しに公開した記事を「Card validator」にかけてみると、

03
うーむ、twitterカードがないと怒られてしまった
Chromeのデベロッパーツールで確認しても、確かにTwitterカード表示に必要となる「twitter:card」や「twitter:image」のmetaタグが表示されませんでした。
Twitterカードに関連するタグが表示されない問題について、他のブログさんの記事を色々と読み漁りましたが、どの解説もJetpackでの設定が完了した時点で特に何かをするわけでもなく表示されているようで一向に原因の特定ができませんでした。

 

他のプラグインの競合を疑ってみる

プラグインが動かない原因で定番なのは、他にインストールしているプラグインとの競合になりますが、関連しそうなプラグインの停止や、「Jetpack by WordPress.com」の再インストールなどを試しましたが今回のケースでは改善につながりませんでした。

 

テーマを疑ってみる

今回の環境では、独自のテーマを作成・有効化していることが分かったので、試しにWordPress標準のテーマである「twenty seventeen」に変えてみたところ・・・
04

表示された!

ということはプラグインがうまく動作しない原因は独自テーマと標準テーマに何かしらの差分があるということになります。

 

そして解決へ・・

それからテーマ毎の差分をとり、悪さをしてそうなところを特定していったところ、
「・・あれ?header.phpに『wp_head();』がいない!」と、ついに原因の特定に成功したのであります。
この「wp_head();」とはWordPressに必要なメタ情報、JQUERYのインストールなどを行ってくれる処理で、記述を忘れるだけで多数のプラグインが動作しなくなるという超重要な関数となります。
何故こんな重要な処理が抜けているんだろう・・・

独自テーマ作成を行う際は、こういった重要な関数の記述漏れがないことを確認するのが大事ですね。
また、プラグインが期待通りの動きをしない場合、独自テーマを使用している環境なら「あって当たり前の記述がない可能性」というのも疑ってみると、問題解決につながるかもしれませんね。


この記事の作者

アバター
モリヤ


総記事本数:11

コメントをどうぞ

おすすめ記事

  1. 2af1a7d9bbe73319a6c346c407cdefbf_m
    リモートワークに移行します
  2. ウィルス画像
    横浜のブラック企業 Initial Site(イニシャルサイト)からコロナウイルスで考えたこと。B…
  3. E5DxwzVgVHYHr411581668296_1581668370
    わたしは公家ではありませんでした(多分)
  4. 1b8493ba94ff68762824c3c7274b3128-e1499313795652
    イオンの保存容器はジップロック超えた!?※主観的視点