¿Cómo crear una página dinámica en WordPress?
Quiero crear algo similar a lo que hace BuddyPress con las páginas de miembros. Por ejemplo:
http://www.example.com/members/foo
http://www.example.com/members/bar
etc.
Intenté revisar el código de BuddyPress y veo que no usan tipos de contenido personalizados ni taxonomías personalizadas. Tampoco parece que estén usando add_rewrite_rule().
Me gustaría tener algo similar, donde mi plugin tome 'foo' de la URL y genere contenido basado en eso. ¿Cuál es la mejor manera de hacerlo?
ACTUALIZACIÓN:
Seguí las instrucciones de este hilo, que es exactamente lo que quería: Cómo crear un perfil de usuario en el front-end con un permalink amigable
Aquí está el código:
add_filter( 'query_vars', 'analytics_rewrite_add_var' );
function analytics_rewrite_add_var( $vars )
{
$vars[] = 'analytic';
return $vars;
}
// Agregar reglas de reescritura
function add_analytic_rewrite_rule(){
add_rewrite_tag( '%analytic%', '([^&]+)' );
add_rewrite_rule(
'^analytics/([^/]*)/?',
'index.php?analytic=$matches[1]',
'top'
);
}
add_action('init', 'add_analytic_rewrite_rule');
// Capturar la solicitud
add_action( 'template_redirect', 'analytics_rewrite_catch' );
function analytics_rewrite_catch()
{
global $wp_query;
if ( array_key_exists( 'analytic', $wp_query->query_vars ) ) {
include ( get_stylesheet_directory() . '/html/analytics.php');
exit;
}
}
Sin embargo, /analytics/foo/ todavía me da un error 404. ¿Qué estoy haciendo mal?

Aquí está la respuesta. Y para futuras referencias, Deepak, necesitas publicar la solución como una respuesta. En cambio, publicaste tu respuesta dentro de tu propia pregunta y luego hiciste un comentario sobre ello. Por favor no hagas eso.
function analytics_rewrite_add_var( $vars ) {
$vars[] = 'analytic';
return $vars;
}
add_filter( 'query_vars', 'analytics_rewrite_add_var' );
function add_analytic_rewrite_rule() {
add_rewrite_tag( '%analytic%', '([^&]+)' );
add_rewrite_rule(
'^analytics/([^/]*)/?',
'index.php?analytic=$matches[1]',
'top'
);
}
add_action('init', 'add_analytic_rewrite_rule');
function analytics_rewrite_catch() {
global $wp_query;
if ( array_key_exists( 'analytic', $wp_query->query_vars ) ) {
include ( get_stylesheet_directory() . '/html/analytics.php');
exit;
}
}
add_action( 'template_redirect', 'analytics_rewrite_catch' );

Gracias, amigo. Puede que no haya sido claro con mi pregunta. Estaba teniendo exactamente el mismo problema: Cómo crear un perfil de usuario en el frontend con un permalink amigable
Lo solucioné con el código que pegué en mi pregunta anterior. Había olvidado limpiar las reglas, lo cual MadLem en IRC me pidió que hiciera y ahora está funcionando.
Disculpa por no ser claro, y gracias por tomarte el tiempo de responder :)
