Cum să obții argumentele WP_Query ale paginii curente?

5 iun. 2020, 18:21:07
Vizualizări: 16.1K
Voturi: 3

Context

Dezvolt un plugin care afișează postări geolocalizate pe o hartă Leaflet. Vreau să adaug un parametru shortcode pentru a afișa pe hartă doar marcajele postărilor din bucla curentă. Această funcționalitate ar fi utilă, de exemplu, pe pagina de rezultate căutare!

Întrebare

Există vreo metodă de a obține argumentele WP_Query ale paginii curente? Am nevoie de aceste argumente pentru a crea un nou WP_Query și pentru a adăuga altele suplimentare care să filtreze doar postările geolocalizate.

Nu sunt sigur dacă este posibil, de obicei creez obiecte WP_Query de la zero.

Mulțumesc!

0
Toate răspunsurile la întrebare 3
1

Ai încercat să folosești $wp_query?

global $wp_query;
var_dump($wp_query->query_vars);

Pentru o singură variabilă, poți folosi get_query_var

Sau ai putea încerca să afișezi direct $_POST, var_dump( $_POST );

Sau poate var_dump( $GLOBALS['post'] );

5 iun. 2020 20:51:14
Comentarii

$wp_query->query_vars este exact ceea ce am cerut :) Mulțumesc!

Camille V. Camille V.
8 iun. 2020 17:45:31
1

Cred că poți folosi rewind_posts() pentru a obține postările din interogarea curentă, apoi să le modifici de acolo:

https://developer.wordpress.org/reference/functions/rewind_posts/

Acest articol oferă o explicație bună despre rewind_posts(), diferențiind-o de wp_reset_postdata() și wp_reset_query(): https://digwp.com/2011/09/3-ways-to-reset-the-wordpress-loop/

5 iun. 2020 19:36:56
Comentarii

Mulțumesc pentru timpul acordat, dar nu era exact ceea ce căutam (căutam argumentele curente ale WP_query)

Camille V. Camille V.
8 iun. 2020 17:46:59
0

O altă alternativă este să o obții direct din argumentele query. Poți accesa toți $args în acest fel.

$query = new WP_Query( $args );

// paginat
$paged_arg = $query->query['paged'];
19 oct. 2021 18:39:02