以下のコードの解釈に頭を悩ませております。教えていただければ嬉しい限りです。
このコードは、Wordpress Codex日本語版(http://wpdocs.osdn.jp/Class_Reference/WP_Query)に掲載されているものです。特に、解釈が難しいコードは以下のコードです。
①$the_query = new WP_Query( $args );
これは調べると、「新しくオブジェクトを作成」という意味とのことです。
疑問:なぜ新しくオブジェクトを作成する必要があるのか?
どういうときに新しいオブジェクトを作成するのか?
②$the_query->have_posts()
これも頻繁に見かけます。調べると、このアロー演算子には、「変数「the_query」の中の
「have_posts()」を実行せよ。」という意味があるとのことです。
2-1:それを踏まえ、文脈に照らせば、以下のように解釈しましたが、この解釈であっていますでしょうか?
「もし、変数the_queryの中の投稿を実行するなら、ulを表示しなさい。そして、同様に投稿があればループを回し、titleを獲得しなさい。そうでなければ、「no posts found」を表示しなさい。」
2-2:「$the_query->the_post();」(while文の後のこの文章の存在が理解できない。なぜ、もう一度かいたのか?)
③wp_reset_postdata();
3-1:これの理解は、$postのリセットという理解ですが、この理解でよいでしょうか?
3-2:wp_reset_query()との違いがいまいちわかりません。
④wp_query();
全体的に見て、結局、wp_query();がどんな役割を果たしていたのかがよくわかりませんでした。今後、どのような文脈で使っていけばよいのでしょうか?
以上、よろしくお願いいたします。
<?php // The Query $the_query = new WP_Query( $args ); // The Loop if ( $the_query->have_posts() ) { echo '<ul>'; while ( $the_query->have_posts() ) { $the_query->the_post(); echo '<li>' . get_the_title() . '</li>'; } echo '</ul>'; } else { // no posts found } /* Restore original Post Data */ wp_reset_postdata();
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。