get_post() WordPress関数 テンプレートタグ

get_post()

参照:WordPress Codex-get_post()

構文

get_post( ①$id[オプション] , ②$output[オプション] , ③$filter[オプション] )

get_post()の詳細

 動 作 

単数の投稿データを取得し、単数のWP_Postオブジェクトを返す。

複数の場合→get_posts()

$idで指定した場合:指定した投稿のデータをデータベースより取得。

$idで指定しない場合:現在の投稿のデータを取得。

 

 返り値 

WP_Postオブジェクトを返す。

存在しない・エラーの場合nullを返す。

 

 引 数 

①$id[デフォルト:null(現在の投稿)]

※null , 0を$idに指定した場合:

$GLOBAL[‘post’]を調べる。

データがあり → その内容。

データなし → nullを返す。

②$output[デフォルト:object]

返り値の値の指定

③$filter[デフォルト:raw]

無害化のコンテキスト

 

get_post()のコード

<?php
735	/**
736	 * Retrieves post data given a post ID or post object.
737	 *
738	 * See sanitize_post() for optional $filter values. Also, the parameter
739	 * `$post`, must be given as a variable, since it is passed by reference.
740	 *
741	 * @since 1.5.1
742	 *
743	 * @global WP_Post $post Global post object.
744	 *
745	 * @param int|WP_Post|null $post   Optional. Post ID or post object. Defaults to global $post.
746	 * @param string           $output Optional. The required return type. One of OBJECT, ARRAY_A, or ARRAY_N, which correspond to
747	 *                                 a WP_Post object, an associative array, or a numeric array, respectively. Default OBJECT.
748	 * @param string           $filter Optional. Type of filter to apply. Accepts 'raw', 'edit', 'db',
749	 *                                 or 'display'. Default 'raw'.
750	 * @return WP_Post|array|null Type corresponding to $output on success or null on failure.
751	 *                            When $output is OBJECT, a `WP_Post` instance is returned.
752	 */
753	function get_post( $post = null, $output = OBJECT, $filter = 'raw' ) {
754	        if ( empty( $post ) && isset( $GLOBALS['post'] ) ) {
755	                $post = $GLOBALS['post'];
756	        }
757	
758	        if ( $post instanceof WP_Post ) {
759	                $_post = $post;
760	        } elseif ( is_object( $post ) ) {
761	                if ( empty( $post->filter ) ) {
762	                        $_post = sanitize_post( $post, 'raw' );
763	                        $_post = new WP_Post( $_post );
764	                } elseif ( 'raw' == $post->filter ) {
765	                        $_post = new WP_Post( $post );
766	                } else {
767	                        $_post = WP_Post::get_instance( $post->ID );
768	                }
769	        } else {
770	                $_post = WP_Post::get_instance( $post );
771	        }
772	
773	        if ( ! $_post ) {
774	                return null;
775	        }
776	
777	        $_post = $_post->filter( $filter );
778	
779	        if ( $output == ARRAY_A ) {
780	                return $_post->to_array();
781	        } elseif ( $output == ARRAY_N ) {
782	                return array_values( $_post->to_array() );
783	        }
784	
785	        return $_post;
786	}
?>

参照:wp-includes/post.php


WordPressのおすすめ-カスタマイズ編

おすすめ

 

スポンサードリンク

スポンサードリンク