WordPressでjQueryのAjax処理

wordpressを使用しない場合と比べて対応方法が異なります。

プラグインでAjaxを使う方法はWP Codex の AJAX in Pluginsにて掲載がありますが、今回は対応する際に使用している方法を記事にしています。作業の流れは次のようになります。

1:functions.php でajaxを使用可能にするURLを追加
2:phpで非同期にデータを取得する記述
3:jQueryのajaxを用いてphpからデータを受け取る記述

続きを読む →

[WP]メインループとサブループ、query_posts(),get_posts(),new WP_Query()

ざっくりと、メインループとサブループは以下のように理解しています。

・メインループ:URLをもとにワードプレスのコアファイルが回すループのこと。
・サブループ:URLに関係なくワードプレスのデータベースからデータを取得して回すループのこと。

メインループを回すためにwordpressでは query_posts() が使用されていますが、 get_posts()WP_Query()の3つの違いを整理してみます。

query_posts() は使用が推奨されていません。 has_posts() の記述のある親テーマを引き継いで編集するために、この関数でループを回したかったのですが、良くない方法だそうです。動作も重いとのこと。

$wpdbを利用してデータベースにアクセスする方法もあるのですが、ループを回したいのであれば$wpdbよりもget_posts() か new WP_Query() を利用したほうが少ないコードで済みそうです。

なお、functions.php の中で使用する場合は global $wpdb の宣言が必要です。