En la sección de administración de WordPress, ¿cómo puedo vincular a las páginas de submenú creadas para un complemento?

10

Así que estoy intentando crear un complemento de WordPress y he creado algunas páginas de menú usando esta función provista:

add_submenu_page('my_plugin_menu', 'Edit record page', 'Edit record page', 'manage_options', 'edit_record_page', array(&$this, 'display_edit_record_page');

y cuando voy a la página, me doy cuenta de que en la barra de direcciones del navegador se lee algo así:

http://mydomain.com/wp/wp-admin/admin.php?page=edit_record_page

Lo que quiero hacer es poder vincular esta página, pero me parece que tengo que codificar el enlace por falta de una mejor manera de hacerlo y estoy trabajando en un sitio de desarrollo. Así que me preguntaba cómo podría generar dinámicamente el enlace que vi en mi navegador para que cuando copie este código de complemento en el servidor de producción funcione. A saber, ¿existe una función de WordPress que genere la porción de enlace de la página de submenú creada?

page=edit_record_page

Además, si deseo agregar cadenas de consulta al enlace, es tan simple como agregarlo manualmente de la siguiente manera:

http://mydomain.com/wp/wp-admin/admin.php?page=edit_record_page&rec_id=1
¿

o hay una función de WordPress apropiada para hacer eso también?

    
pregunta racl101 22.12.2010 - 20:28

2 respuestas

16

admin_url() le proporciona la URL de la página de administración correcta (y network_admin_url() para obtener una URL de la página de administración de la red)

Opcionalmente, puedes usar add_query_arg() para adjuntar argumentos a una URL, usando una matriz asociativa:

$page       = 'edit_record_page';
$rec_id     = 1;
$record_url = add_query_arg(compact('page', 'rec_id'), admin_url('admin.php'));
    
respondido por el onetrickpony 22.12.2010 - 20:43
3

<a href="admin.php?page=edit_record_page">Link Text</a>

y

<a href="admin.php?page=edit_record_page&rec_id=1">Link Text</a>

    
respondido por el matt 22.12.2010 - 20:44

Lea otras preguntas en las etiquetas