¿Cómo obtener un parámetro de URL con get_query_var?
Estoy tratando de obtener un parámetro personalizado de URL en WordPress.
Agrego el siguiente código a functions.php:
function add_query_vars_filter( $vars ){
$vars[] = "token";
return $vars;
}
add_filter( 'query_vars', 'add_query_vars_filter' );
Luego en la página web escribo:
<?php $token = get_query_var( 'token', $default = ''); ?>
<h1>Actualmente navegando token <?php echo (int) $token; ?> En una
página estática de inicio</h1>
y voy a la página web http://www.negovista.com/tokensuccess/?token=xxxxxx
Sin embargo, en la página solo se muestra
'Actualmente navegando token En una página estática de inicio' sin el xxxxxx
¿Alguien sabe si hay un error en el código?

Logré encontrar una solución con la ayuda de algunos desarrolladores en el foro apex de theme.co.
Necesitaba obtener dos cadenas de consulta de mi URL www.randompage.com/tokensuccess/?token=token&username=username llamadas token y username.
Para conseguirlo, añadí el siguiente código al archivo functions.php:
function add_query_vars_filter( $vars ){
$vars[] = "token";
$vars[] = "username";
return $vars;
}
add_filter( 'query_vars', 'add_query_vars_filter' );
get_query_var('token');
get_query_var('username');
Esto insertó las dos cadenas de consulta en las variables token y username.
Luego agregué el siguiente código al archivo page.php para imprimir los valores e insertarlos en la base de datos.
<?php if (is_page('tokensuccess')) { if (get_query_var('token')) print "token = $token"; } ?>
<?php if (is_page('tokensuccess')) { if (get_query_var('username')) print "username = $username"; } ?>
<?php if (is_page('tokensuccess')) {
$token = get_query_var('token');
$username = get_query_var('username');
if( $token && $username ){
global $wpdb;
$wpdb->insert(
'wp_token',
array(
'token' => $token,
'username' => $username
)
);
}
}
?>
Ahora puedo enviar un enlace con cadenas de consulta a mi cliente y obtener automáticamente su token y nombre.
