社内向けの掲示用にWordPressのFeedWordpressというプラグインを使って
他のRSSを定期的に取り込んでいます。
そこで、題名に取り込み元の識別するための文字列を付けたいとtitleを加工しています。
例:日経新聞のRSSだと題名の接頭辞に[日経]とつける。
これをするのに、feedwordpress_item.phpのget_title を加工して付けるようにしてみました。
これで手動でRSSを取り込む時は問題無く動作しましたが
cronを使って、http://www.hogehoge.com?update_feedwordpress=1を実行させると
取り込まれずRSSから取り込んだままの題名が表示されます。
cronから取り込んだ場合のget_titleはどこで行なっているのでしょうか。
(xmlをパースしたときにwordpressにpostされない値で判定をしたいので、post_insert(update)する前にtitleを加工したいのです。)
もう5日もにらめっこしてて少々つかれてしまいました。
正常ではちゃんと動くのにcronを通すと動かなくなるのですよね。
cronとphpのトラブルで一番多い原因の一つに、カレントディレクトリへの移動ができていないことが挙げられます。
http://www.es-works.com/setup_cron.html
上記のURLを参考にして、cronの実行時に、まずカレントディレクトリに移動してからphpを実行するように書き換えてみてください。
「手動でRSSを取り込む」というのは、その http://www.hogehoge.com?update_feedwordpress=1 にブラウザからアクセスする、という意味でしょうか。
それとも、プラグインのシンジケーションページでフィードを確認した、ということでしょうか。
WordPressは全く分からないのですが、プラグインをダウンロードしてみましたところ、feedwordpie_item.class.php に get_title が定義されていました。feedwordpress_item.php というファイルは含まれていなかったようなのですが、これはインストール後に生成されるのでしょうか。
get_title 関数を見ると、フック名 feedwordpie_item_get_title のフィルタが適用されているだけの関数で、フィルタ用の関数はおそらく定義されていないようでした。これはカスタマイズ用にフックを用意してあるように見えます。
的外れでしたらすみません。