setup_postdata

(1.5.0以降)
setup_postdata - 投稿記事に関連するグローバル変数を設定する

説明

bool setup_postdata( stdClass $post )
投稿記事に関連するグローバル変数を設定する。

パラメータ

  • $post
    投稿記事のオブジェクトを指定。

返り値

常にtrueを返す。

注意

query_posts関数やget_posts関数、WP_Queryクラスを使って投稿記事を取得した後のループ処理にて、the_post関数やwp_reset_postdata関数を使うことでこのsetup_postdata関数が呼び出され、関連するグローバル変数が更新される。
グローバル変数データ型意味
$idint投稿ID
$authordatastdClass投稿者情報(オブジェクト)
$currentdaystring投稿日(書式「日.月.年(2桁)」)
$currentmonthstring投稿月
$pageintページ番号
$pagesarrayページ分割処理後の投稿記事テキストの配列
$multipageintページ分割数
$moreint単一記事またはフィードの場合か、$pageが1より大きい場合は1
$numpagesintページ分割している場合は1、分割していない場合は0
$pagesは投稿記事中の<!--nextpage-->コメントによって分割されたテキストが入る。

使用例

  • 投稿記事$acat_postのグローバル変数を設定する。
    <?php setup_postdata( $acat_post ); ?>

関連

  • get_posts - 条件にマッチする投稿情報を取得する
  • get_userdata - ユーザIDを指定し、マッチするユーザ情報を取得する
  • is_new_day - 現在の投稿記事の投稿日が直前の投稿記事と同じか調べる
  • mysql2date - MySQLの日時情報を変換する
  • query_posts - 条件を指定して投稿情報をロードする
  • the_date - 投稿データの投稿日を表示する
  • the_post - 投稿データをロードする
  • wp_reset_postdata - 投稿記事をリセットする
  • $authordata - 現在の投稿者情報
  • $id - 現在の投稿情報ID

お勧めコンテンツ

Posts filter multiselect:プラグイン作ってみました(2015年3月9日 登録)

先週の金曜日、知り合いの方から「投稿一覧ページで絞り込みを行う際、複数選択できないか」といった問い合わせがあり、その時には「標準では無理ですね」と返答しました。このこと自体は事実なのですが、要するに「複数選択可能なドロップダウンメニュー」が実現できれば対応するのはそれほど難しくないような気がしました。この週末、そんなノリでちょっとコーディングしてできたのがこのプラグインです。

xmlrpc.phpへのアクセスについてちょっと考えた(2015年7月10日 登録)

少し前のことですが、こちらのサーバーを何度かダウンさせてしまったのですが、その原因はxmlrpc.phpへアクセスが集中したことによってサーバーが過負荷となってしまったというものでした。すぐにサーバー性能を上げることはできないため、xmlrpc.phpのアクセスを全部拒否するという暫定対応してしまいました。

投稿内容に応じてwpautopを制御する(2013年8月13日 登録)

投稿内容を表示するthe_content関数では、wpautop関数がフィルターの1つとして呼び出され、改行をbrタグに変換したり、pタグで調整したりする。この機能自体は便利なのだが、きちんとデザインされたHTMLソースを流し込んだ場合はこの機能は好ましくない。そんなわけで、記事内容に応じてwpautop関数を制御できないか考えてみた。

WordPressと組み込まれている主なJavaScriptライブラリのバージョン一覧(2015年4月10日 登録)

WordPressの更新が遅れていたサイトを少し前に更新したところ、jQuery UI sortableを使って拡張したページに不具合が発生しました。WordPressの更新に伴って内部のjQuery UIが更新されたことに起因すると思われ、これを機にWordPressとそれに組み込まれたJavaScriptライブラリのバージョンを確認してみました。

子カテゴリのアーカイブページを親カテゴリ用のテンプレートファイルで表示しよう(2011年12月8日 登録)

少し前に投稿した「適切なテンプレートファイルを用意してテンプレート内の振り分け処理を無くす」で説明した通り、特定のカテゴリ専用のテンプレートとしてcategory-○○.phpを用意することで、category.phpやarchive.php内で振り分けを行う必要がなくなる。ただ、すべてのカテゴリ分を用意するのは効率的ではないし、特に子カテゴリについては親カテゴリと共通内容になるケースが多いのではないだろうか。ここでは、子カテゴリの個別テンプレートファイルを作らず、親カテゴリのテンプレートを利用する方法を紹介する。

最終更新日時 : 2014-11-16 17:40