Cómo enlazar a la página de opciones del tema desde cualquier parte del administrador

13 dic 2011, 23:53:42
Vistas: 1.84K
Votos: 1

He logrado añadir mi propio menú a la barra de administración. Quiero que el primer elemento del menú enlace a la página de opciones de mi tema.

Por ejemplo, ¿es esto 100% seguro o existe un método directo?

echo '<a href="'.get_admin_url().'admin.php?page=functions.php">Opciones del Tema</a>';
0
Todas las respuestas a la pregunta 2
0

Asumiendo que la instalación nunca tendrá un plugin que registre una página con ese mismo nombre, debería ser seguro. Sugeriría darle a tu página registrada un nombre con un prefijo único. En segundo lugar, si el nombre de la página se refiere al archivo de funciones de tu tema, ¿no estaría llamando al archivo directamente? (nunca deberías llamar directamente al archivo de funciones del tema).

Puedes pasarle a get_admin_url y también a admin_url la ruta para anexar, para usarlo así...

echo get_admin_url( null, 'admin.php?page=functions.php' );

o de manera similar...

admin_url( 'admin.php?page=functions.php' );

No es necesaria la concatenación, y por supuesto agrega el HTML del enlace según corresponda (lo omití por brevedad).

Otra sugerencia sería no usar el nombre del archivo como valor de página en el registro. Sigo viendo que los plugins lo hacen, y siempre me ha parecido molesto. Tiene más sentido pasarle al código de registro de página una cadena única, y no un nombre de archivo (usualmente hecho usando __FILE__, lo cual personalmente encuentro feo y poco elegante).

Esas serían mis observaciones iniciales. Idealmente, me gustaría ver el código que registra la página y saber dónde está ese código de registro, es decir, en qué archivo.

14 dic 2011 00:09:56
0

¿Qué tal esto?:

echo "<a href='".admin_url('/admin.php?page=functions.php')."'>Opciones del Tema</a>";

Codex para admin_url. Por cierto, ¿estás añadiendo una página de menú/submenú para las opciones personalizadas de tu tema? Puedes usar su slug aquí.

14 dic 2011 00:08:23