投稿情報を連想配列で参照する投稿日の検索が自由自在に時代はWP_Queryなのか検索ワード「-10,000円」を検索できるようにしたい標準で使用できる数少ないショートコード[caption]とはこの記事は最後に更新してから1年以上経過しています。投稿情報は、タイトルや本文、投稿日時といったいくつかのデータが含んでおり、多くの場合オブジェクトになっている。これを連想配列で扱いたい場合はキャストして型変換することが多かった。基本的にはキャストで問題ないのだが、ふと目に留まったto_arrayメソッドが興味深かったのでメモとして残しておく。3.5.0前後で様変わり本編に入る前に、お断りというか注意点を。WordPressの投稿情報はバージョンによって変わってきており、元々は標準クラス(stdClass)のオブジェクトだったが、3.5.0以降はWP_Postクラスに変更され、今回取り上げているto_arrayメソッドはWP_Postクラスのもにになる。3.5.0より前のバージョンでは今回取り上げているto_arrayメソッドは使用できないので、それを踏まえて読み進めてほしい。4.0.0において投稿情報を単純にキャストした内容とto_arrayメソッドで得られる連想配列のキーを示したものである。tags_inputarrayキャストとto_arrayメソッドで得られる連想配列の違いは、表下側の4要素(page_templateは投稿タイプが固定ページのみ)である。to_arrayメソッドで拡張される4要素について、データの例や関連する関数を交えて順番に見ていこう。}まずはancestors。親の投稿ID、さらにその親投稿があればその投稿IDが格納されている。上記の例だとキー0が親記事の投稿ID、キー1が親の親記事のIDとなる。このancestorsは、3.5.0より前のバージョンでは投稿情報(stdClass)オブジェクトには含まれていたが、3.5.0以降の投稿情報(WP_Post)オブジェクトには含まれておらず、結果としてarrayでキャストした連想配列にも含まれていない。page_templateには、カスタムフィールドに保存されている固定ページのテンプレート名になる。デフォルトテンプレート(page.php)の場合は'default'、テーマ内の個別のテンプレートファイルが設定されている場合はそのファイル名となる。get_page_template_slug関数の場合は、'default'は''に置き換えられるてしまうので、その点は注意したい。post_categoryには、その投稿情報のカテゴリーIDが格納された配列となる。キーとその値のどちらもカテゴリーIDになるため、最初のカテゴリーIDをはキー0では参照できない。別途カテゴリー情報を取得して使う感じなんでしょう。最後のtags_inputは投稿タグの配列で、キーは投稿タグID、その値は投稿タグ名(スラッグではない)になっている。こちらは使いやすそうですね。__getメソッドで個別に取得できるなお、これらの4要素については、__getメソッドで個別に取得できる。);ちなみに、__getメソッドで上記以外のキー名を指定すると、カスタムフィールドの値を取得することができる。);get_post_meta関数の第3パラメータがtrueになるため、同じキー名で複数の値を登録している場合は1つの値しか取得できないことになるが、これはこれで便利だろう。)パラメータ$dで指定したフォーマットで投稿日を取得する。)PHPバージョンの互換性を調べる。)投稿情報が指定したカテゴリーに属しているか調べる。)IDを指定してカテゴリー情報を取得する。)WordPressシステムの関数にアクション関数を追加する。©12NetWordPress私的マニュアル主にjQueryのメモPHPExcelのノートWebの。