posts_per_page制限なし
-
-
私はしばらくの間グーグルでWPコーデックスを検索してきましたが、この単純な質問に対する直接の答えを見つけることができません.私の質問はサンプルコードと私の試みが何であったか(引数に高い値を設定すること)で明確に表現されていると思います.私はWPの専門家ではないので、質問をするためにここに来ました.些細なことのように思われる質問への回答を提供することでさえ、これらのStackExchangeコミュニティを成長させるのに役立ちます.個人的には、安っぽいフォーラムへのリンクではなく、検索結果にStackOverflowのリンクが表示されるのが大好きです.I've been Googling for awhile and searching the WP codex, but I just can't find a direct answer to this simple question. I believe my question is worded clearly with example code, and what my attempt was (setting a high value for the argument). I'm not a WP expert, so thats why I came here to ask the question. Even providing answers to questions that seem trivial to you are helpful in growing these Stack Exchange communities. I personally love seeing a Stack Overflow link in my search results, as opposed to a link to a crappy forum.
- 6
- 2011-12-11
- Banjer
-
また、答えてくれてありがとう.コメントではなく回答として投稿してください.受け入れることができます.Also, thanks for the answer. You should post it as an answer and not a comment, so I can accept it.
- 0
- 2011-12-11
- Banjer
-
私はあなたの主張を理解しました、そして私は質問を*書く*ことにおけるあなたの努力に感謝します.また、専門家以外の質問がこのコミュニティで価値があることを証明できることにも同意します.一方、そのような質問が多すぎると、一部の専門家がここに参加するのを思いとどまらせる可能性があります.それは私が推測するある種のバランスについてのすべてです.とにかく私は大きな賛成票を持っているので、あなたの次の質問を楽しみにしています:)ここWPSEで素晴らしい時間を過ごしてください.I've got your point and I do appreciate your effort in *writing* the question. I also agree that non-expert questions can prove themselves valuable in this community. On the other hand too many of such questions can discourage some experts from getting involved here. It's all about some kind of balance I guess. Anyway I'm a big up-voter so I'm looking forward to your next questions :) Have a great time here on WPSE.
- 0
- 2011-12-11
- Michal Mau
-
PS:また、 `type`を`post_type`に置き換えたい(またはこの行を完全に削除したい).ラトウィックの答えとあなたの質問の両方を編集して、誰かがこの小さな間違いをコピーして貼り付けないようにします.PS: you also want to replace `type` for `post_type` (or remove this line altogether). I will edit both the Rutwick's answer and your question to prevent somebody from copy-pasting this little mistake.
- 0
- 2011-12-11
- Michal Mau
-
@Maugly訂正担当者に感謝します...posts_per_pageに焦点を合わせたため、タイプミスをコピーしました.;)@Maugly Thanks for the correction man... just focused on posts_per_page hence copied the typo! ;)
- 0
- 2011-12-11
- Rutwick Gangurde
-
6 回答
- 投票
-
- 2011-12-11
-1があなたの答えです!
posts_per_page
ここを探します.$args = array( 'post_type' => 'post', 'cat' => '22,47,67', 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => 1, 'depth' => 1, 'posts_per_page' => -1 );
重要な注意事項:これにより、非常に大きなクエリが発生し、サイトがダウンする可能性があります.これは、データベースで処理できることが確実な場合にのみ実行してください.公開テーマやプラグインにはありません.
-1 is your answer! Look for
posts_per_page
here.$args = array( 'post_type' => 'post', 'cat' => '22,47,67', 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => 1, 'depth' => 1, 'posts_per_page' => -1 );
Important caveat: This can result in a very huge query that can bring the site down. Do this only if you are sure your database can handle it. Not in public themes or plugins.
-
重要な注意事項:これにより、非常に大きなクエリが発生し、サイトがダウンする可能性があります.これは、データベースが処理できることが**確実**である場合にのみ実行してください.公開テーマやプラグインにはありません.Important caveat: This can result in a very huge query that can bring the site down. Do this only if you are **sure** your database can handle it. Not in public themes or plugins.
- 7
- 2016-08-11
- fuxia
-
@toscho回答の更新としてコメントを追加します.@toscho Adding your comment as an update to the answer.
- 0
- 2016-11-23
- Rutwick Gangurde
-
あなたは私の命を救う!you save my life!!
- 0
- 2019-10-11
- Darlan Dieterich
-
@DarlanDieterich喜んでお手伝いできます!:)@DarlanDieterich Glad I could help! :)
- 0
- 2019-10-14
- Rutwick Gangurde
-
- 2011-12-12
または、
WP_Query
(query_posts )を渡すこともできます.code>は)
nopaging
引数を使用します.これは、基本的に同じことを行います.$ args=array( 'nopaging'=>true //他の引数など. );
まったく同じように動作しますが、後で振り返る必要があり、何をしていたのか思い出せない場合は、個人的には、そのパラメーターで何を意図していたのかがより明確になると思います.args配列内.
ただし、前述したように、どちらも実際には同じことを実現します.
複数のアプローチがあることを傷つけることはできません.あなたが知っていることを共有することは常に素晴らしいことです.すでに十分なアプローチがあるにもかかわらず、それが私の答えの理由であると言えば十分です..;)
Or alternatively you can pass
WP_Query
(which is whatquery_posts
uses) thenopaging
argument, which basically does the same thing..$args = array( 'nopaging' => true // Your other args, etc.. );
It will do exactly the same, but if you have to look back at it later and can't remember what you were doing, i personally feel it will be more clear to you, what it is you were intending with that parameter inside the args array.
As i mentioned however, they'll both actually achieve the same.
Can't hurt to have more than one approach, and it's always nice to share what you know, suffice to say that's the reason for my answer, despite you already having a sufficient one.. ;)
-
- 2014-02-23
子テーマ関数ファイルから:
add_action( 'pre_get_posts', 'wpsites_no_limit_posts' ); function wpsites_no_limit_posts( $query ) { if( $query->is_main_query() && !is_admin() && is_home() ) { $query->set( 'posts_per_page', '-1' ); $query->set( 'order', 'ASC' ); $query->set( 'post_type', 'post' ); $query->set( 'cat', '22,47,67' ); $query->set( 'orderby', 'name' ); $query->set( 'order', 'ASC' ); $query->set( 'hide_empty', '1' ); $query->set( 'depth', '1' ); } }
From your child themes functions file:
add_action( 'pre_get_posts', 'wpsites_no_limit_posts' ); function wpsites_no_limit_posts( $query ) { if( $query->is_main_query() && !is_admin() && is_home() ) { $query->set( 'posts_per_page', '-1' ); $query->set( 'order', 'ASC' ); $query->set( 'post_type', 'post' ); $query->set( 'cat', '22,47,67' ); $query->set( 'orderby', 'name' ); $query->set( 'order', 'ASC' ); $query->set( 'hide_empty', '1' ); $query->set( 'depth', '1' ); } }
-
- 2019-10-17
リカルドをいくつか変更して使用する:
static $paged; $post_ids = []; do { $paged++; $defaults = [ 'fields' => 'ids', // Only return the ID field to make this query faster. 'post_type' => 'post', 'posts_per_page' => 100, 'no_found_rows' => false, // We need pagination & the count for all posts found. 'paged' => $paged, 'update_post_term_cache' => false, 'update_post_meta_cache' => false, ]; $query = new WP_Query($defaults); if ($query->have_posts()) { foreach ($query->posts as $id) { $post_ids[] = $id; } } } while ($query->max_num_pages > $paged); return $post_ids;
これにより、ID行に対してのみクエリを実行し、用語とメタキャッシュの更新を回避することで、クエリ時間が大幅に増加します.
Using Ricardo's with some modification:
static $paged; $post_ids = []; do { $paged++; $defaults = [ 'fields' => 'ids', // Only return the ID field to make this query faster. 'post_type' => 'post', 'posts_per_page' => 100, 'no_found_rows' => false, // We need pagination & the count for all posts found. 'paged' => $paged, 'update_post_term_cache' => false, 'update_post_meta_cache' => false, ]; $query = new WP_Query($defaults); if ($query->have_posts()) { foreach ($query->posts as $id) { $post_ids[] = $id; } } } while ($query->max_num_pages > $paged); return $post_ids;
This will dramatically increase the query time by only querying against the ID row and avoiding updating term and meta cache.
-
いいね!共有してくれてありがとう.Nice! thanks for sharing.
- 0
- 2019-10-18
- Ricardo Canelas
-
- 2016-08-11
あなたの問題に対する正しい答えは
'posts_per_page' => -1
は、-1
が他のユーザーの回答に応じて、ページごとに無制限の投稿を返すためです.このQ/Aにアドオンを追加したいだけです
WordPress管理パネルの読み取り設定からページあたりの投稿数を取得する場合は、
get_option()
関数を呼び出し、posts_per_page
をとして渡す必要があります.それに文字列.$args = array( 'post_type' => 'post', 'cat' => '22,47,67', 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => 1, 'depth' => 1, 'posts_per_page' => get_option('posts_per_page') );
この回答が私を助けてくれるので、誰かの助けになることを願っています.Happy CodingStackexchangeユーザー
The right answer for your issue is
'posts_per_page' => -1
because-1
will return unlimited posts per page As the others users answer.I just want to add an add-on to this Q/A,
If you want to get the number of posts per page from the reading setting on WordPress Administration Panel you have to call the
get_option()
function and passposts_per_page
as a string to it.$args = array( 'post_type' => 'post', 'cat' => '22,47,67', 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => 1, 'depth' => 1, 'posts_per_page' => get_option('posts_per_page') );
I hope this answer will help someone as it help me. Happy Coding Stackexchange Users
-
それは実際には素晴らしい追加です!That's actually a nice addition!
- 0
- 2017-12-29
- Herbert Van-Vliet
-
- 2017-02-22
または..
function getAll($arg, $posts_per_page = 50) { $data = array(); $page = 1; do{ $arg['paged'] = $page; $arg['posts_per_page'] = $posts_per_page; $query = new WP_Query($arg); foreach ($query->posts as $post){ $data[] = $post; } $page++; }while(count($query->posts) === $posts_per_page); return $data; }
Or..
function getAll($arg, $posts_per_page = 50) { $data = array(); $page = 1; do{ $arg['paged'] = $page; $arg['posts_per_page'] = $posts_per_page; $query = new WP_Query($arg); foreach ($query->posts as $post){ $data[] = $post; } $page++; }while(count($query->posts) === $posts_per_page); return $data; }
-
コードを説明するコンテキスト、質問を解決するためのアイデアを追加する必要があります.You should add context to explain your code, your idea to solve the question.
- 2
- 2017-02-22
- bueltge
query_posts
を含むすべての投稿を返したい.posts_per_page
を非常に高い数値に設定しようとしましたが、query_posts
がおかしくなり、投稿が返されません.制限なしで投稿をクエリする正しい方法は何ですか?