This question is addition to the following question.
The answers to the linked question say that you have to write THE LOOP inside each php template file, but what is still open is WHY? why is it necessary to write is as part of page.php if this page is not supposed to display any post at all?

another question why when I perform have_posts() inside page.php the return value is ‘true’? shouldn’t it contain no posts at all in this page?

1 Answer
1

The wording is (for historical reasons) a bit confusing. Actually Post can mean two things in WordPress:

  1. The literal Post as in Blog-Post
  2. A general term encompassing other default Post Types (like e.g. Pages) or Custom Post Types.

So there is the Post Type “post” just like there is the Post Type “page”.

Here is a link to the Codex which elaborates on that a bit more: https://codex.wordpress.org/Post_Types

Leave a Reply

Your email address will not be published. Required fields are marked *