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 ); ?>

最終更新 : 2014年11月16日 17:40



お勧め

プラグインのロード順を制御する(2014年6月9日 更新)

これまでプラグインがどのような順番でロードされるか意識していなかったのだが、とある自作プラグインを他のプラグインよりも先にロードさせたくなったので調べてみた。

Emojin:プラグイン作ってみました(2015年3月21日 更新)

ちょっと前のTLでiOSの絵文字を含んだ投稿を保存すると、絵文字以降の文章がすべて消えた状態で保存されるといったツイートを見かけた。少し検索してみると、MySQLのデータベースの文字セットが「utf8」の場合、iOSの絵文字のような4バイトの文字を正常に保存できず、それ以降の文章も保存されないというものらしい。対処方法としてデータベースの文字セットを「utf8mb4」に変更するのが有効らしいのだが、他に回避策がないか考えてみた。

Contact Form 7に確認フェーズを(2012年12月16日 更新)

Contact Form 7はWordPressによるサイト製作でお世話になることが多いプラグインの1つ。ただ、クライアント様によっては、入力、確認、送信の3フェーズにしたいという要望があり、そんな時は別の方法を採用していたのですが、JavaScript(jQuery)を使ってページ遷移しなくてもいいなら確認フェーズは用意できるかなと思い、作り込んでみた。

プラグインのヘッダー情報を国際化対応しよう(2018年5月27日 更新)

バージョン4.8がリリースされてひと段落。あらためてプラグイン一覧ページを見てみると「Akismet」が「Akismet Anti-Spam (アンチスパム)」と表示されていた。説明文だけじゃなくプラグイン名も国際化対応できたのね。

メタボックスをクラシックエディターのみで表示する(2019年1月15日 更新)

投稿画面向けにメタボックスを使ったプラグインがあり、それがブロックエディターで意図した通りに機能しなかった。この対処方法を考える過程でエディタータイプに応じてメタボックスを出し分けできる方法が見つかったので紹介したい。