Passando e il recupero di query vars in WordPress
-
16-10-2019 - |
Domanda
Ho due pagine autori, una mostra di circa 5 posti. Poi sto cercando di impostare un'altra pagina che sarà tutti i loro messaggi. Ho creato un modello chiamato moreauthorposts.php e sto cercando di passare la variabile autore a questa pagina. Il problema è se mi passate domain.com/more-author-posts?author=johndoe ottiene spogliato fuori. Come posso recuperare questo valore? Questo è anche possibile in WordPress? So WP Rewrite è jacking mia struttura degli URL in qualche modo io sono appena sicuro.
Ho provato:
get_query_var('author')
e provato la lettura di questo, ma non ha avuto fortuna:
http://codex.wordpress.org/Query_Overview
Suggerimenti?
Grazie.
Soluzione
Sono quasi sicuro che author
è built-in, in modo da utilizzare qualcosa come author_more
. Avrete bisogno di aggiungere che var a query_vars
prima. Esempio:
// add `author_more` to query vars
add_filter( 'init', 'add_author_more_query_var' );
function add_author_more_query_var()
{
global $wp;
$wp->add_query_var( 'author_more' );
}
Poi sul more-author-posts.php
modello chiamata in questo modo:
if ( get_query_var( 'author_more' ) )
{
// do your stuff
}
Aggiorna
Questo funziona nel seguente caso ad esempio / Usa URL:
http://example.com/index.php?author_more=value
Ma se si desidera utilizzare questo come fantasia URL, è necessario aggiungere una regola di riscrittura:
add_action('init','add_author_more_rewrite_rule');
function add_author_more_rewrite_rule()
{
add_rewrite_rule(
'more-author-posts/(\d*)$',
'index.php?author_more=$matches[1]',
'top'
);
}
Ora è possibile utilizzare in questo modo
http://example.com/more-author-posts/value