質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.51%

  • PHP

    24065questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • WordPress

    8942questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

  • Facebook

    442questions

    Facebookは、実名登録制のSNS(ソーシャル・ネットワーキング・サービス)です。開発者用のデベロッパーサイトが存在し、一般ユーザーによるFacebook向けアプリケーション開発が可能です。

jetpackのFacebookの自動投稿のコードがどのファイルにあるのか知りたい

解決済

回答 3

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 867

tokunagas

score 2

実現したいこと

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の導入は諦めて、
別のプラグインを導入を検討中です。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

check解決した方法

0

質問にも追記したとおり、
jetpackを使用できない件については原因なまま調査は打ち切りました。

代わりに、下記のプラグインを導入しました。
「NextScripts: Social Networks Auto-Poster」
https://wordpress.org/plugins/social-networks-auto-poster-facebook-twitter-g/

他にもいくつかプラグインを試してみましたが、
「Social Networks Auto-Poster」(通称:SNAP)が一番使いやすく処理も安定している印象を受けました。

掲題の件について解決したわけではありませんが、
jetpackとは別のプラグインを導入することで、
自動投稿に関しての要件を満たすことはできましたので、
当質問はこれで解決済みといたします。

皆さんご協力ありがとうございました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

functions.phpの記載を少しずつ減らして確認してみてはいかがでしょうか。
また、エラーは確認されていますでしょうか。

【WordPress初心者におすすめ!デバッグモードの使い方 | Mignon Style】
http://mignonstyle.com/debug-mode/

「wp-config.phpに書かれている」と書いてありますが、環境によって書かれていないことがあります。その場合はwp-config.phpの最後に追記してください。

define('WP_DEBUG', true);

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/06/13 22:42

    早速のご回答ありがとうございます。

    >functions.phpの記載を少しずつ減らして確認
    やっぱりこれしかないですよね・・・。

    デバッグモードに関しては使用していますが、
    質問にもあるとおり、Facebookのタイムラインに投稿が反映されないだけで、
    WP側では正常に投稿が完了しているので、エラーも出力されていないみたいです。

    ひとまず、他に回答がつくまでは
    functions.phpを削って原因を特定する方向で進めてみます。

    キャンセル

0

テーマ側でogpが挿入されているとか、SEOとかのプラグインでogpが挿入されているなどでheadタグの中にogpが重複しているということはありませんか?

jetpackでパブリサイズ共有とかが有効になると、自動でjetpackのogpが挿入されたりします。これら重複が原因で投稿できなかったという事例が以前ありました。

念の為headタグの中のogpが重複して入っていないかを確認してみて下さい。またfacebookにログインしないと使えませんがogpをチェックするデバッガみたいのもfacebookが提供していたと思うので、それらを利用して確認しても良いかと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/06/13 23:29

    ご回答ありがとうございます。

    一度その線でも調査してみたのですが、
    テーマ側でogpタグを挿入している様子はありませんでした。
    プラグインについても同様で、ogpタグを挿入するようなものは無かったと思います。

    上記のことから、おそらく今回の原因とは関係ないと思っているのですが、
    念のためもう一度ogpタグが重複していないか確認してみようと思います。

    キャンセル

同じタグがついた質問を見る

  • PHP

    24065questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • WordPress

    8942questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

  • Facebook

    442questions

    Facebookは、実名登録制のSNS(ソーシャル・ネットワーキング・サービス)です。開発者用のデベロッパーサイトが存在し、一般ユーザーによるFacebook向けアプリケーション開発が可能です。