WordPressをフィードアンテナ化するまとめ(その3)アフィリエイト作業ノートアフィリエイトサイト運営に関して「調べたこと」「やったこと」「考えたこと」を記録する日誌です。WordPress前回の続きです。getfeed関数についてです。今回はこの右側部分です。スポンサーリンクgetfeed関数crawl.phpから呼び出されるgetfeed関数を見て行きましょう。これは使用しているテーマの中のfunctions.phpに記載します。/>\n";}}必要はないのですが、カスタムフィールドに記事タイトルを追加する処理を加えています。カスタムフィールドへ追加する場合は対象記事の投稿IDが必要になります。このため、記事をデータベースに取り込んだときに自動採番される投稿IDを取得し、それを用いて再度データベースに取り込むという処理をします。何かと使いそうなので、例として追加しておきました。必要がなければupdate_post_metaの部分は削除してください。フィード取り込みテストcrawl.phpをWordPressをインストールしているディレクトリ(wpとか)に入れ、getfeed関数を使っているテーマのfunctions.phpに追記すると手動でも記事の取り込みが可能になります。http://サイトURL/crawl.phpをブラウザに打ち込みエンターを叩くと、処理が実行されます。記事一覧を見てみるとこのように取り込まれています。記事はどうなっているかというと、このように必要な情報がまとめられた1行の本文となります。カスタムフィールドも無事記事タイトルが追加されています。記事タイトルを入れるという意味のない処理ですが、こういうことも出来るということで。一度記事を取り込むとサイト名でタグが自動的に追加されています。データベースはこんな感じ。カスタムフィールドのテーブル「postmeta」にはこのように追加されています。下であれば、23970という投稿IDの記事のcostom_titleというmeta_keyはこの内容ですという意味です。手動の取り込みテストで問題なければ、crawl.phpをCRONで叩くように設定すればここまでは終了です。注意点1)セキュリティについて指定したフィードではあるものの、外部データを自動で取り込んで処理をしていますのでどんなデータを扱っているのか分かりません。セキュリティ対策は必要に応じて追加してください。ブログではPHPでも使う特殊文字である「”」「’」「<」「&」「=」などを記事タイトルや本文抜粋で使うことが非常に多く、悪意がなくても不具合を起こす可能性があります。このためWordPressに入れるまでの前処理、取り出した後の後処理の部分にはクロスサイトスクリプティング対策をやっておいたほうがいいと思います。2)データベース接続のエラーメッセージこれは解決できなかったことなのですが、データベースに接続できなかったときのエラーメッセージがなぜか表示されません。コードを間違えているのか、自分の環境が悪いのか、はたまたそういう仕様なのか、全く原因がわからない状態です。他の2箇所のセレクトの部分はキチンとエラーコードが出るのですが、このデータベースの接続だけがエラーコードの取得が出来ないのです。エラーメッセージが出ないだけで機能は問題ないので大したことではないのですが、気持ちが悪いなぁと。分かる方がいらっしゃいましたら是非教えて下さい。取得した記事を削除して繰り返しテストをすることになりますが、記事はゴミ箱から完全に消去しないと同じ記事を取り込むことができません。これはデータベース上に記事のステータスがtrashになっているだけなのです。記事は完全に消去する必要があります。まとめここまでで記事の自動取り込みが可能になりました。今回は記事抜粋はデータベースに取り込んではいますが使いません。データベースに取り込むデータ、記事本文に表示させるデータは好みに応じて変化させてください。サイトを機能で差別化をしようとしたときにカスタムフィールドが役に立ちます。カスタムフィールドはクリックカウンタや記事への評価など、公開後のユーザーの行動で動的に変化するものを扱うのにも適しています。アイデアを試してみてください。次回は固定ページにこの記事一覧を出力させます。思った以上にまとめるのは大変です。気長に待っていただけると助かります。アンテナサイト用サムネ画像をWordPressに取り込むぼちぼち動き始めます。cookieに関するまとめもしたかったのですが、ちょっと後回し。現在突貫でアンテナサイトにサムネ画像をつけ...記事を読む【WordPress】アップデート失敗で「現在メンテナンス中のため、しばらくの間ご利用いただけません。」となった時の対応法プラグインのアップデート中にダッシュボードのボタンを触ったためメンテナンス中から復帰しなくなってしまいました。table」をご紹介します。簡単な表ならデフォル...記事を読む【WordPress】テーマ「Simplicity」の高速化+ポカミス修正このサイトはスクラップブック的な意味合いが強いためあまり気にしていなかったのですが、Webサイトの表示スピードを確認してみると激遅。コメント欄のHTMLタグについての表記を消す記事の下にコメント欄に使えるタグについての表記があります。見た目にうるさいので消してしまいましょう。Plugin」のアップデートでレイアウトが崩れる問題しばらくしたらまた忘れそうなので覚書です。消えるスペース(空白)について自動整形についての検証、次は「消えるスペース(空白)」についてです。カテゴリーアーカイブの表示順序を変える現在作成中の情報系サイトでは投稿日など時系列の表記していません。参考になる記事をありがとうございます。いう書き方にしても問題ないでしょうか。PMコメントありがとうございます!はい、その通りでいいと思います。・・・あらら!?ソース確認したら私直接テーブル名書いていましたね。$wpdb->postsに直してみましたが問題なく動いています。記事がなんだか微妙な書き方になっていたのは勉強中だったということで許してください。実はこの記事を書いた直後に入院してしまいサイトの更新やアンテナのカスタムが中途半端な形で止まっています。アンテナサイトはいまだに動いています(?)http://nantena.net/暇ができたら全部作り直したいなとは思っているのですが。