italia / design-comuni-wordpress-theme

Tema Wordpress per i siti dei comuni italiani
GNU Affero General Public License v3.0
33 stars 33 forks source link

Il tasto "Carica altri risultati" carica anche le bozze #403

Closed Cam-al closed 1 month ago

Cam-al commented 9 months ago

Prerequisiti

Descrivi il problema

Ho iniziato a inserire circa 30 servizi ma al momento solo 7 sono completi e possono essere pubblicati nel sito del comune, quindi tutti gli altri servizi che ho iniziato a caricare ma che non sono ancora disponibili nel comune gli ho messi in bozza per non mostrali nell'elenco. Tutti quelli in bozza giustamente non vengono mostrati, ma vengono "contati" quando si clicca carica altri risultati. esempio: nella pagina "Servizi" vedo i primi tre servizi in ordine alfabetico del titolo se clicco su carica altri risultati mostra solo un servizio se clicco una seconda volta mostra sempre e solo lo stesso se clicco altre 3 volte aggiunge due servizi questo perché tra il primo servizio pubblicato e gli altri due ci sono circa 10 servizi in bozza.

non so se è chiaro, ma in poche parole se un servizio nell'elenco di tutti i servizi ordinati per titolo è tredicesimo verrà mostrato comunque in tredicesima posizione anche se 10 di quelli precedenti sono bozze non visibili.

Includi link o screenshot

No response

Su quale sisitema operativo stai riscontrando il problema?

Windows

Su quale browser stai riscontrando il problema?

Qualsiasi

Che versione del tema stai utilizzando?

1.7.4

enrimk commented 9 months ago

Vero: _loadmore() ora carica i post in tutti gli stati, non solo quelli pubblicati - e non solo per i servizi, anche per gli altri tipi di contenuto. Poi, i servizi vengono filtrati per status solo "a posteriori", al momento di visualizzarli, scartando quelli in bozza; ma non è un buon modo di procedere.

È vero che omettendo il parametro post_status il default di WP_Query è "publish" - ma solo per il fronte-sito. Per il backoffice, le cose cambiano (nelle liste di admin devono pur esserci anche le bozze). E le chiamate ajax ad admin-ajax.php contano come backoffice (_isadmin() è true).

Soluzione: aggiungere esplicitamente 'post_status' => 'publish' negli argomenti della query di _loadmore().

Cam-al commented 9 months ago

Si ha funzionato, grazie. L'ho modificato cosi: $args = array( 's' => $_POST['search'], 'posts_per_page' => $_POST['post_count'] + $_POST['load_posts'], 'post_type' => $post_types, 'orderby' => 'date', 'order' => 'DESC', 'post_status' => 'publish' ); if ( $post_types != "notizia" && $post_types != "evento" ) { $args = array( 's' => $_POST['search'], 'posts_per_page' => $_POST['post_count'] + $_POST['load_posts'], 'post_type' => $post_types, 'orderby' => 'post_title', 'order' => 'ASC', 'post_status' => 'publish' ); }

Ho aggiunto anche gli eventi in ordine di data

enrimk commented 9 months ago

Per l'ordinamento degli eventi, attenzione però che l'ordinamento di default è sì per data, ma per data di pubblicazione (a meno che tu non abbia aggiunto altre eccezioni non riportate qui). Un evento si dovrebbe ordinare per data di inizio. D'altra parte mi pare di aver visto anche in altre parti del tema questa confusione tra date. Nel calendario in homepage, forse?

Cam-al commented 9 months ago

si hai ragione ! è meglio usare la data di inizio visto che è presente anche questo problema #378

enrimk commented 1 month ago

Issue risolto nella 1.10.0, da una modifica non documentata, ma integrata "clandestinamente" 😃 con la #434 .

zetareticoli commented 1 month ago

@Cam-al posso chiudere quindi la issue?

Cam-al commented 1 month ago

si