Passando e recuperando consultas vars no wordpress

14

Eu tenho duas páginas de autores, uma exibe cerca de cinco postagens. Então estou tentando configurar outra página que será todas as suas postagens. Eu criei um modelo chamado moreauthorposts.php e estou tentando passar a variável de autor para esta página. O problema é que se eu passar domain.com/more-author-posts?author=johndoe fica despojado. Como posso recuperar esse valor? Isso é possível no wordpress? Eu sei que o WP Rewrite está aumentando minha estrutura de URL de alguma forma eu não tenho certeza.

Eu tentei:

get_query_var('author')

e tentou ler isto, mas não teve sorte:

enlace

Sugestões?

Obrigado.

    
por codeisforeva 31.01.2011 / 19:48

1 resposta

20

Tenho quase certeza de que author é interno, portanto, use algo como author_more . Você precisará adicionar esse var a query_vars primeiro. Exemplo:

// 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' );
}

Em seguida, no seu modelo more-author-posts.php , chame-o assim:

if ( get_query_var( 'author_more' ) )
{
    // do your stuff
}

Atualizar

Isso funciona no seguinte exemplo de URL / caso de uso:

http://example.com/index.php?author_more=value

Mas se você quiser usar isso como fantasia, você precisa adicionar uma regra de reescrita:

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'
    );
}

Agora você pode usá-lo assim

http://example.com/more-author-posts/value
    
por Bainternet 31.01.2011 / 20:02