Як розмістити посилання на сторінки підменю, створені для плагіна, у розділі WordPress Admin?


10

Тому я намагаюся створити плагін WordPress, і я створив кілька сторінок меню за допомогою цієї наданої функції:

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

і коли я переходжу на сторінку, я помічаю, що в адресному рядку браузера він читає приблизно так:

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

Що я хочу зробити, це мати можливість посилання на цю сторінку, але я вважаю, що мені доведеться жорстко кодувати посилання через відсутність кращого способу це зробити, і я працюю на сайті розробників. Тому мені було цікаво, як я можу динамічно генерувати посилання, яке я бачив у своєму браузері, так що коли я скопіюю цей плагін-код на виробничий сервер, він буде працювати. А саме, чи є функція WordPress, яка генеруватиме частину посилань створеної сторінки підменю.

page=edit_record_page

Крім того, якщо я хочу додати рядки запиту до посилання, це так просто, як додати його вручну, як-от так:

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

чи є для цього також відповідна функція WordPress?

Відповіді:


16

admin_url()отримує правильну URL-адресу сторінки адміністрації (і network_admin_url()щоб отримати URL-адресу сторінки мережевого адміністрування)

За бажанням ви можете add_query_arg()додавати аргументи до URL-адреси за допомогою асоціативного масиву:

$page       = 'edit_record_page';
$rec_id     = 1;
$record_url = add_query_arg(compact('page', 'rec_id'), admin_url('admin.php'));

3

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

і

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


Це працює, проте чи можете ви показати приклад використання admin_url (); рядок, як це?
Бен Рачикот
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.