###実現したいこと
WordPressのJetpackプラグインでFacebookへの自動投稿を行いたいのですが、
テーマがカスタマイズされている為、正常に動作しませんでした。
何が原因で投稿処理が失敗しているのか調査したいのですが、
何分WordPressに対しての知識が乏しく、
ソースを見てもどこにFacebookに対する投稿処理が記述されているのかわかりません。
ネットで検索してもJetpackプラグインのソースに関して解説しているサイトは少なく、
Facebookの投稿に関するソースについて解説しているサイトは見つけられませんでした。
どなたかWordpressに詳しい方がいらっしゃいましたら、
Facebookに対する投稿処理がJetPackプラグイン内のどのファイルの何行目にあたりに記載されているのか教えていただけるとありがたいです。
###発生している問題
管理側の「投稿」機能から記事を投稿した際にWPに対しての登録は正常に行われるが、
Facebookのタイムラインに投稿内容が反映されない。
###確認済み事項
・カスタマイズされたテーマを使用しない場合(「Twenty Fifteen」に変更した場合)は投稿可能
・Twitterの自動投稿はカスタマイズされたテーマでも正常に動作を確認
・Jetpackプラグイン以外の全てのプラグインを停止しても自動投稿不可
###2016/06/14 追記
facebook.phpを可能な限り、デフォルトのテーマに近づけてみましたが問題は解決しませんでした。
また、ogpについても再度確認してみましたが、やはりテーマ内のソースにそれらしい出力は見当たりませんでした。
掲題の件について独自に調べてみたところ、
どうやら下記のような手順でSNSへの投稿が行われているようです。
jetpackプラグインディレクトリ/class.jetpack-ixr-client.php(Line:36)
function query() { …省略… $response = Jetpack_Client::remote_request( $this->jetpack_args, $xml );
上記の関数で自動投稿APIへのリクエストを行っています。
(自動投稿以外、通常の画面読み込み時なども呼ばれている)
どうやら各SNSへの自動投稿処理はプラグイン内にソースがあるのではなく、
外部のサーバ(JetPackの公式サイトのあるサーバ)にあるAPIで処理を行っているようです。
また、APIをリクエストする際にPOSTデータをXMLデータに変換して送信しているのですが、
XMLデータに連携先のfacebookのアカウント情報等は含まれませんでしたので、
おそらくjetpackの設定でfacebookアカウントの連携を行う際に、
jetpackのサーバー側に保持してるDBにfacebookの連携に必要なデータを保持し、
APIの処理ではXMLデータに含まれる「blog_id」等にそのデータを紐付けて取得しているのではと思われます。
(というのが自分の妄想です。)
上記の処理で送信しているXMLデータについて、
デフォルトテーマとカスタマイズされたテーマとで比較してみましたが、
送信されている値はほぼ一緒でした。
となると問題はAPIでどのようなデータの取得を行っているのかという点になるのですが、
いずれにしてもそこにテーマの情報が絡んでくるのは謎です。
ひとまずはjetpackの導入は諦めて、
別のプラグインを導入を検討中です。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。