Pasar y recuperar la consulta vars en WordPress
-
16-10-2019 - |
Pregunta
Tengo dos páginas de autores, una muestra alrededor de 5 publicaciones. Entonces estoy tratando de configurar otra página que sea todas sus publicaciones. He creado una plantilla llamada moraAuthorposts.php y estoy tratando de pasar la variable del autor a esta página. El problema es que si paso dominio.com/more-author-poss?author=Johndoe, se quita. ¿Cómo puedo recuperar este valor? ¿Es esto incluso posible en WordPress? Sé que WP Rewrite está haciendo que mi estructura de URL de alguna manera no estoy seguro.
He intentado:
get_query_var('author')
e intenté leer esto pero no tuve suerte:
http://codex.wordpress.org/Query_overview
¿Sugerencias?
Gracias.
Solución
Estoy casi seguro de que author
está incorporado, así que usa algo como author_more
. Deberá agregar ese 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' );
}
Entonces en tu more-author-posts.php
plantilla llámalo así:
if ( get_query_var( 'author_more' ) )
{
// do your stuff
}
Actualizar
Esto funciona en el siguiente ejemplo de URL/caso de uso:
http://example.com/index.php?author_more=value
Pero si desea usar esto como URL elegante, 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 así
http://example.com/more-author-posts/value