CMSのループに関するガイダンス
1 回答
- 投票
-
- 2014-06-25
厳密には、ページテンプレートでループを使用する必要はありませんが、問題はありません.ページのコンテンツは引き続き読み込まれます.投稿/ページが1つしかないため、ループは1回だけ実行されます..多くのテーマにはページテンプレートのループが含まれていますが、互換性の問題があると思います.
ページテンプレートを最初から作成する場合は、ループを追加する必要はありません.そうです、wordpressはURLから適切なコンテンツを取得しますが、関数the_post()を実行する必要があります.the_title()、the_content()などのテンプレートタグを使用する前に.the_post()をテンプレートの上部に配置するだけです.
それがあなたにとって理にかなっていることを願っています.さらに説明が必要かどうか、遠慮なく尋ねてください.
Strictly, you don't need to use a loop in a page template, but it doesn't hurt, the content of the page will still load, the loop will simply only run once as there is only one post/page. Many themes include a loop in page templates, I guess for some compability issue.
If you are building your page template from scratch, you don't need to add a loop to it, you are right, wordpress will get the right content from the URL, but you still need to run the function the_post() before to use template tags like the_title(), the_content(), etc. Just put the the_post() towards the top of the template.
Hope it makes sense to you, don't hesitate to ask if you need further clarifications.
-
同意しました.ループは問題なく、とにかくページ上で1回だけ実行されます.Agreed. The loop doesn't hurt and only runs one time on a page anyway.
- 0
- 2014-06-25
- helgatheviking
-
多くの場合、副作用は発生しませんが、 `have_posts()`を呼び出さないことで問題が発生する可能性があります.ループの終わりに達すると、 `have_posts()`への最後の呼び出しが `loop_end`アクションをトリガーします.完全なループコードを使用しないと、そのアクションにフックされたものは実行されません.while you may often experience no side-effects, you can potentially break things by not calling `have_posts()`. when the end of the loop is reached, the last call to `have_posts()` triggers the `loop_end` action. anything hooked to that action won't run if you don't use the full loop code.
- 0
- 2014-06-25
- Milo
-
フィードバックをお寄せいただきありがとうございます!私はまだ少し混乱していると思います.WPは、ページwww.example.com/learn/をデータベースに保存されているページコンテンツにどのように関連付けますか.SELECT* FROM wp_post WHEREpost_id=??? HTMLを作成した/learn/ページを取得するように指示するにはどうすればよいですか?Thanks for the feedback! I guess I'm still a little confused though. How does WP associate the page, www.example.com/learn/, with the page content stored in the database, SELECT * FROM wp_post WHERE post_id = ??? How does it know, or how do I tell it to retreive the /learn/ page where I've created the HTML?
- 0
- 2014-06-25
- markmilly
-
それはあなたがパーマリンク設定で設定したものであるリライトURLで動作します.ブラウザに表示される/learn/は、内部でindex.php?page=12などに変換されます.これはすべて抽象化されているため、機能させるために何もする必要はありません.It works with rewrite URLs, that's what you set up on the permalinks settings. What the browser shows, /learn/, gets translated internally to index.php?page=12, etc. All this is abstracted from you, you don't need to do anything to make it work.
- 0
- 2014-06-25
- Gioia Fueter
これは間違った方法で行っているかもしれませんが、これは私のシナリオです...ブログプラットフォームではなくCMSとしてWordPressを使用したいと思います. 25〜50ページのウェブサイトがあり、投稿はありません.
かなり簡単なはずの独自のテーマを開発したいと思っていますが、ループ関数の使用に少し混乱しています.
私はそれを理解しています:
は、x個の投稿をプルしているページに使用されますが、私のシナリオでは、x個の投稿ではなく、ページのコンテンツのみをプルしたいと考えています.カスタムSQLクエリを作成する必要がありますか?
私が遭遇し続けるすべての例は、投稿にループを使用しています.静的ページのみを使用している場合、The Loopを使用する必要もありますか?一意のURLを使用して、MySQLデータベースの投稿列からページを引き出すことはできますか?
これが理にかなっていることを願っています.