Pasar y recuperar vars de consulta en wordpress

14

Tengo dos páginas de autores, una muestra aproximadamente 5 publicaciones. Entonces estoy tratando de configurar otra página que será todas sus publicaciones. He creado una plantilla llamada moreauthorposts.php y estoy tratando de pasar la variable de autor a esta página. El problema es si paso domain.com/more-author-posts?author=johndoe se elimina. ¿Cómo puedo recuperar este valor? ¿Es esto incluso posible en wordpress? Sé que WP Rewrite está robando mi estructura de URL de alguna manera, simplemente no estoy seguro.

Lo he intentado:

get_query_var('author')

e intenté leer esto pero no tuve suerte:

enlace

Sugerencias?

Gracias.

    
pregunta codeisforeva 31.01.2011 - 19:48

1 respuesta

20

Estoy casi seguro de que author está integrado, así que usa algo como author_more . Deberá agregar esa var a query_vars primero. Ejemplo:

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

Luego, en su plantilla more-author-posts.php , llámelo así:

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

Actualizar

Esto funciona en el siguiente ejemplo de caso / uso de URl:

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

Pero si desea usar esto como una URL de lujo, debe agregar una regla de reescritura:

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

Ahora puedes usarlo de esta manera

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

Lea otras preguntas en las etiquetas