the_post() WP_Queryのメソッド WordPress関数 

the_post()

参照:WordPress Codex-the_post()

※the_postはWP_Queryクラスのメソッド

ループ内のみで使用可能。

 

構文

the_post()

the_post()の詳細

 動 作 

$wp_queryのメソッド$postを設定する。

グローバル変数$postを設定する。

グローバル変数$wp_queryから順番にデータを取り出しす。

取り出した1件分のデータをグローバル変数$postに格納する。

$wp_queryから1投稿分の投稿データを順に取り出す。

取り出した1件分の投稿データを$postに保存する。

$current_postプロパティの値を1増やす。

 

※$postはWP_Query のプロパティ。

 

 返り値 

なし

 引 数 

なし

 

the_post()のコード

参照:wp-includes/class-wp-query.php

<?php
public function the_post() {
        global $post;
         $this->in_the_loop = true;

             if ( $this->current_post == -1 ) { // loop has just started
                       
                        do_action_ref_array( 'loop_start', array( &$this ) );
                }
                $post = $this->next_post();
                $this->setup_postdata( $post );
        }

public function next_post() {

                $this->current_post++;

                $this->post = $this->posts[ $this->current_post ];
                return $this->post;
        }

public function setup_postdata( $post ) {
      global $id, $authordata, $currentday, $currentmonth, $page, $pages, $multipage, $more, $numpages;

                if ( ! ( $post instanceof WP_Post ) ) {
                        $post = get_post( $post );
                }

                if ( ! $post ) {
                        return;
                }

                $elements = $this->generate_postdata( $post );
                if ( false === $elements ) {
                        return;
                }

                $id           = $elements['id'];
                $authordata   = $elements['authordata'];
                $currentday   = $elements['currentday'];
                $currentmonth = $elements['currentmonth'];
                $page         = $elements['page'];
                $pages        = $elements['pages'];
                $multipage    = $elements['multipage'];
                $more         = $elements['more'];
                $numpages     = $elements['numpages'];               
                do_action_ref_array( 'the_post', array( &$post, &$this ) );
                return true;
        }
?>

$thisは$wp_queryを指す。

 

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

おすすめ

 

 

スポンサードリンク

スポンサードリンク