W sekcji Administrator WordPress w jaki sposób mogę utworzyć link do stron podmenu utworzonych dla wtyczki?

10

Próbuję utworzyć wtyczkę WordPress i utworzyłem kilka stron menu przy użyciu tej funkcji:

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

i kiedy wchodzę na stronę, zauważam na pasku adresu w przeglądarce, czyta coś takiego:

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

Chcę połączyć tę stronę, ale muszę zakodować link z powodu braku lepszego sposobu na zrobienie tego i pracuję na stronie dla programistów. Zastanawiałem się więc, jak mogę dynamicznie wygenerować link, który widziałem w przeglądarce, aby po skopiowaniu kodu wtyczki na serwer produkcyjny działał. Mianowicie, czy istnieje funkcja WordPress, która wygeneruje link do utworzenia strony podmenu.

page=edit_record_page

Ponadto, jeśli chcę dołączyć ciągi zapytania do linku, czy jest to tak proste, jak dodanie go ręcznie:

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

lub czy jest do tego odpowiednia funkcja WordPress?

racl101
źródło

Odpowiedzi:

16

admin_url()otrzyma poprawny adres URL strony administracyjnej (i network_admin_url()uzyska adres URL strony administracyjnej sieci)

Opcjonalnie możesz użyć, add_query_arg()aby dołączyć argumenty do adresu URL, używając tablicy asocjacyjnej:

$page       = 'edit_record_page';
$rec_id     = 1;
$record_url = add_query_arg(compact('page', 'rec_id'), admin_url('admin.php'));
onetrickpony
źródło
3

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

i

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

matowy
źródło
Działa to, jednak czy możesz pokazać przykład użycia admin_url (); w ten sposób?
Ben Racicot