Na seção Admin do WordPress, como faço para vincular a páginas de submenu criadas para um plugin?

10

Então, estou tentando criar um plug-in do WordPress e criei algumas páginas de menu usando essa função:

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

e quando eu vou para a página que eu noto na barra de endereços no navegador, ele lê algo assim:

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

O que eu quero fazer é poder vincular esta página, mas acho que tenho que codificar o link por falta de uma maneira melhor de fazê-lo e estou trabalhando em um site de desenvolvimento. Então eu queria saber como eu poderia gerar dinamicamente o link que vi no meu navegador para que quando eu copiar este código de plugin para o servidor de produção, ele funcione. Ou seja, existe uma função do WordPress que irá gerar a parte do link da criação da página do submenu.

page=edit_record_page

Além disso, se eu quiser acrescentar strings de consulta ao link, é tão simples quanto adicioná-lo manualmente da seguinte forma:

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

ou há uma função apropriada do WordPress para fazer isso também?

    
por racl101 22.12.2010 / 20:28

2 respostas

16

admin_url() obtém o URL da página de administração correta (e network_admin_url() para obter um URL da página de administração da rede)

Opcionalmente, você pode usar add_query_arg() para anexar argumentos a uma URL, usando uma matriz associativa:

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

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

e

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

    
por matt 22.12.2010 / 20:44