¿Puedes describir un poco que tipo de datos y el propósito? ¿Seguro que necesitas una tabla propia?
Así a priori, asumiendo que de verdad necesitas la tabla propia, se me ocurre que podrías hacer un rewrite de tu URL personalizada hacia la página donde tienes el shortcode (no probado, solo escrito aquí como ejemplo):
add_filter( 'query_vars', 'add_elemento_var', 0, 1 );
function add_elemento_var($vars){
$vars[] = 'elemento';
return $vars;
}
add_action( 'init', 'rewrite_elemento_url' );
funciton rewrite_elemento_url() {
add_rewrite_rule( '^elemento/([^/]+)/?$', 'index.php?post_type=page&name=my_page&elemento=$matches[1]','top' );
}
Con ese rewrite, todas las urls de tipo elemento/algo
te llevaría a la misma página y en ella podrías acceder al query var «elemento» y hacer lo que necesites con el valor en el shortocode o donde sea:
$id = get_query_var( 'elemento' );
Buenas,
Primero gracias por la respuesta cybmeta.
Tengo que hacer un plugin para un solo sitio web. La finalidad és filtrar i mostrar comida para animales (a priori muy senzillo). Pero el tema es que voy a tener unas 80 columnas de datos de cada comida para animales y voy a tener que importar los datos desde un csv. Por este motivo, decidí que era mejor usar una tabla pròpia sin mezclar los posts con esto.
Voy a provar tu solución entonces.
Buenas,
Al final he utilizado la solución que les pongo a continuación. Despues de revisar varias opcions, para redirigir la URL a un plugin creo que es la mejor solución.
Solución
Gracias a todos.
Es prácticamente la misma idea que te propuse. De hecho, lo que hace add_rewrite_endpoint()
es registrar un rewrite y sus query vars. No veo mucha diferencia práctica; salvo que no estoy de acuerdo en utilizar template_redirect
para mostrar contenido como hacen en ese enlace, yo utilizará el filtro template_include
para establecer el template deseado donde, ahora sí, se mostraría el contenido.
De todas formas, me alegro que hayas encontrado la solución.
PD: No se «redirige la URL a un plugin», lo que hace el código no es una redirección, es una reescritura.
-
Esta respuesta fue modificada hace 6 años, 3 meses por cybmeta.
-
Esta respuesta fue modificada hace 6 años, 3 meses por cybmeta.