posts_per_page nessun limite
-
-
Ho cercato su Googleper unpo 'e ho cercatonel codice WP,manon riesco atrovare una risposta diretta a questa semplice domanda.Credo che lamia domanda siaformulata chiaramente con un codice diesempioe qual è statoilmiotentativo (impostando un valore altoper l'argomento).Non sono unesperto di WP,quindi èper questo che sono venuto quiperporre la domanda.Anchefornire risposte a domande cheti sembranobanali è utileperfar crescere queste comunità di Stack Exchange.Personalmente adoro vedere un collegamento Stack Overflownei miei risultati di ricerca,al contrario di un collegamento a unforum scadente.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
-
Inoltre,grazieper la risposta.Dovrestipubblicarlo come rispostae non come commento,quindiposso accettarlo.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
-
Ho capitoiltuopuntoe apprezzoiltuoimpegnonello * scrivere * la domanda.Sono anche d'accordo che le domandenonespertepossono rivelarsipreziosein questa comunità.D'altrapartetroppe di queste domandepossono scoraggiare alcuniesperti dalfarsi coinvolgere qui.Sitratta di una sorta diequilibrio,immagino.Comunque sono ungrandeelettore,quindinon vedo l'ora di ricevere letueprossime domande :) Divertiti qui su 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: vuoi anche sostituire `type` con`post_type` (o rimuovere deltutto questa riga).Modificherò sia la risposta di Rutwick che latua domandaperimpedire a qualcuno di copiaree incollare questopiccoloerrore.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 Grazieper l'uomo di correzione ...mi sono concentrato solo suposts_per_page,quindi ho copiato l'errore dibattitura!;)@Maugly Thanks for the correction man... just focused on posts_per_page hence copied the typo! ;)
- 0
- 2011-12-11
- Rutwick Gangurde
-
6 risposta
- voti
-
- 2011-12-11
-1 è latua risposta!Cerca
posts_per_page
qui .$args = array( 'post_type' => 'post', 'cat' => '22,47,67', 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => 1, 'depth' => 1, 'posts_per_page' => -1 );
Avvertenzaimportante : questopuò comportare una query digrandi dimensioni chepuòfar chiudereil sito.Fallo solo se sei sicuro cheiltuo databasepossagestirlo.Nonin temi oplug-inpubblici.
-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.
-
Avvertenzaimportante: questopuò comportare una querymoltogrande chepuòfar cadereil sito.Fallo solo se sei ** sicuro ** cheiltuo databasepossagestirlo.Nonin temi opluginpubblici.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 Aggiungendoiltuo commento come aggiornamento alla risposta.@toscho Adding your comment as an update to the answer.
- 0
- 2016-11-23
- Rutwick Gangurde
-
mi salvi la vita !!you save my life!!
- 0
- 2019-10-11
- Darlan Dieterich
-
@DarlanDieterich Sono contento di averpotuto aiutare!:)@DarlanDieterich Glad I could help! :)
- 0
- 2019-10-14
- Rutwick Gangurde
-
- 2011-12-12
In alternativa,puoipassare
WP_Query
(che è ciò chequery_posts
usa) l'argomentonopaging
,chefondamentalmentefa la stessa cosa ..$args = array( 'nopaging' => true // Your other args, etc.. );
Faràesattamente lo stesso,ma se devi ripensarcipiùtardie non ricordi cosa stavifacendo,personalmente ritengo cheti saràpiù chiaro cosaintendevi con quelparametroall'interno dell'array args.
Come hogià detto,tuttavia,entrambi otterranno lo stesso risultato.
Nonpuòfarmale averepiù di un approccio,ed è semprebello condividere ciò che sai,basti dire che è questoilmotivo dellamia risposta,nonostantetune abbiagià uno sufficiente ..;)
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
Dalfile dellefunzioni deitemi figlio:
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
Utilizzo di Ricardo con alcunemodifiche:
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;
Ciò aumenterànotevolmenteiltempo di queryeseguendo query solo sulla riga IDedevitando di aggiornarei terminie lameta cache.
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.
-
Bello!grazieper la condivisione.Nice! thanks for sharing.
- 0
- 2019-10-18
- Ricardo Canelas
-
- 2016-08-11
La rispostagiustaperiltuoproblema è
'posts_per_page' => -1
perché-1
restituirà unnumeroillimitato dipostperpagina come rispondonogli altri utenti.Voglio solo aggiungere un componente aggiuntivo a questa domanda/risposta,
Se desideri ottenereilnumero dipostperpagina dalleimpostazioni di lettura sulpannello di amministrazione di WordPress,devi chiamare lafunzione
get_option()
e passareposts_per_page
comestringa adesso.$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') );
Spero che questa rispostapossa aiutare qualcunoin quanto aiutame.Utenti di Stackexchange di codificafelici
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
-
Questa è davvero unabella aggiunta!That's actually a nice addition!
- 0
- 2017-12-29
- Herbert Van-Vliet
-
- 2017-02-22
Oppure ..
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; }
-
Dovresti aggiungereil contestoper spiegareiltuo codice,latuaideaper risolvere la domanda.You should add context to explain your code, your idea to solve the question.
- 2
- 2017-02-22
- bueltge
Desidero restituire TUTTIi post con
query_posts
.Hoprovato aimpostareposts_per_page
su unnumeromolto alto,maquery_posts
vafuori ditestae non restituisce alcunpost.Qual èilmodo correttoperinterrogarei post senza limiti?