Passare e recuperare variabili di query in WordPress
Ho due pagine autori, una mostra circa 5 post. Sto cercando di configurare un'altra pagina che mostrerà tutti i loro post. Ho creato un template chiamato moreauthorposts.php e sto cercando di passare la variabile dell'autore a questa pagina. Il problema è che se passo domain.com/more-author-posts?author=johndoe viene rimosso. Come posso recuperare questo valore? È possibile in WordPress? So che WP Rewrite sta modificando in qualche modo la struttura del mio URL, ma non sono sicuro.
Ho provato:
get_query_var('author')
e ho provato a leggere questo ma non ho avuto successo:
http://codex.wordpress.org/Query_Overview
Suggerimenti?
Grazie.

Sono quasi sicuro che author
sia integrato, quindi usa qualcosa come author_more
. Dovrai prima aggiungere quella variabile a query_vars
. Esempio:
// aggiungi `author_more` alle 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 nel tuo template more-author-posts.php
chiamalo in questo modo:
if ( get_query_var( 'author_more' ) )
{
// fai quello che devi fare
}
Aggiornamento
Questo funziona nel seguente esempio di URL/caso d'uso:
http://example.com/index.php?author_more=value
Ma se vuoi usarlo come URL elegante, devi 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 puoi usarlo così
http://example.com/more-author-posts/value

Ok, ho aggiunto le variabili di query nel functions.php. Poi ho aggiunto l'altro codice ai miei post dell'autore. Quale sarebbe la struttura URL corretta per passarli? So che paged usa il formato /page/2 ma fare more-author-posts/more_author/johndoe non sembra funzionare?

Il problema è che non sto cercando di passare le variabili a index.php. Sto cercando di passarle al template personalizzato che ho sviluppato poiché è completamente diverso da index. Quindi se passo i valori a moreauthor.php?author_more=johndoe... non sembra funzionare. Sto facendo qualcosa di sbagliato qui?

@בניית אתרים sembra una risposta molto chiara! @codeisforeva Non dovresti chiamare direttamente il file template, vero? index.php è semplicemente il file radice di WordPress, ogni regola di riscrittura dovrebbe passare da lì.

Quindi non è possibile impostare un template personalizzato e passare variabili personalizzate in WordPress? Pensavo che questa sarebbe stata un'enorme limitazione della piattaforma.

Fatto funzionare con index.php, grazie mille per l'aiuto. Sembra solo strano che non si possa fare con altri template.

non proprio perché puoi gestire tutti i get attraverso un unico file index.php
