A-TAK.COM

RSSfitJのWordPressプラグインを少し改造

※Amazonのアソシエイトとして、A-TAK.COMは適格販売により収入を得ています
※本サイトではその他アフィリエイトも利用しております。

シェア


今回思いっきり技術的なお話(メモ)。
XOOPSのいろんなモジュールのRSS配信を一手に引き受けるためのモジュールRSSfitJ。
これにはRSSに対応していないモジュールも含めて一つのRSSフィードで更新情報を提供できるという利点があるのですが、WordPressの未来の日付で予約投稿しているものまでRSSに表示されるという問題があったので、このA-tak日記だけはRSSfitJを使わないようにしていました。
ただ、他にもXOOPSでモジュールを使い始めたのでせっかくならサイト全体のRSSを使ってもらいたいなーという気がしてきたので、初のPHPソース改修をやってみました。

つーても、なおしたのはSQL文だけでよかったです。
RSSfitJモジュールのフォルダのpluginのrssfitj.wordpress.phpの174行目のあたり

if ($key==’wordpress’) {
$sql = “SELECT p.ID, p.post_content, p.post_title, p.post_date, p.post_category, c.cat_name FROM “.$xoopsDB->prefix(“wp_posts”).” p, “.$xoopsDB->prefix(“wp_categories”).” c, “.$xoopsDB->prefix(“wp_post2cat”).” r WHERE p.ID=r.post_id AND r.category_id=c.cat_ID AND post_status=’publish’”.$add_sql.” ORDER BY p.post_date DESC”;
} else {
$sql = “SELECT p.ID, p.post_content, p.post_title, p.post_date, p.post_category, c.cat_name FROM “.$xoopsDB->prefix(“wp”.substr($key,-1,1).”_posts”).” p, “.$xoopsDB->prefix(“wp”.substr($key,-1,1).”_categories”).” c, “.$xoopsDB->prefix(“wp”.substr($key,-1,1).”_post2cat”).” r WHERE p.ID=r.post_id AND r.category_id=c.cat_ID AND post_status=’publish’”.$add_sql.” ORDER BY p.post_date DESC”;

ここのWHEREの最後に「 AND p.post_date <= NOW()」を足しただけ。

if ($key==’wordpress’) {
$sql = “SELECT p.ID, p.post_content, p.post_title, p.post_date, p.post_category, c.cat_name FROM “.$xoopsDB->prefix(“wp_posts”).” p, “.$xoopsDB->prefix(“wp_categories”).” c, “.$xoopsDB->prefix(“wp_post2cat”).” r WHERE p.ID=r.post_id AND r.category_id=c.cat_ID AND post_status=’publish’ AND p.post_date <= NOW()".$add_sql." ORDER BY p.post_date DESC"; } else { $sql = "SELECT p.ID, p.post_content, p.post_title, p.post_date, p.post_category, c.cat_name FROM ".$xoopsDB->prefix(“wp”.substr($key,-1,1).”_posts”).” p, “.$xoopsDB->prefix(“wp”.substr($key,-1,1).”_categories”).” c, “.$xoopsDB->prefix(“wp”.substr($key,-1,1).”_post2cat”).” r WHERE p.ID=r.post_id AND r.category_id=c.cat_ID AND post_status=’publish’ AND p.post_date <= NOW()".$add_sql." ORDER BY p.post_date DESC";

始める前に、ずいぶん前に買って読んでなかったPHP入門書の文法の所だけ読んで改造にあたったのだけど、全然そんなの必要ありませんでした。
これで何か思いついたネタを小出しに出していけるね!(笑)


シェア

投稿日

カテゴリー:

投稿者:

タグ:

カテゴリ一覧