コンサデコンサ本宅に記事を投稿した後、Twitter、Facebook、Google+に記事を投稿したことをお知らせする発言が投稿されていないことに気がついた。
Twitter、Facebookへの投稿はIFTTT、Google+への投稿はHootsuiteを使用して自動で投稿するように設定しているが、ともに動作していない。
IFTTTをのぞいてみると、エラーメッセージがでている。
でも原因がわからない。しかたがないので、再登録してみることにした(レシピを新規作成)。すると、FeedのURL自体を受け付けない。Feedが読めないといってくる。どうやら、wordpress側のRSS feedに問題がある可能性が高まった。
そこで、ネットをあちこち検索。
まず、Feedのエラーをチェックしてくれるサイトで、RSS feedを点検してみる。
- W3C Feed Validation Service – kngy.net
いくつかのエラーが出たが、その中に、「文頭に変なスペースが存在している。」というエラーがあった。
これ、「XML パースエラー」と呼ばれるエラーのようだ。文頭に宣言文がなければいけないのに、何らかの要因でスペースが入ってしまい、Feedを読み込むプログラムが、Feedと認識できないエラーのこと。
このサイトの内容を参考にして、対応させてもらった。
対応方法は、以下のファイルの書き換え。
wp-includes/feed-rss2.php
wp-includes/feed-rss2-comments.php
二つのファイルの文頭にob_end_clean();を追加する。
[php]