Как ссылаться на страницу настроек темы из любого места в админке?

13 дек. 2011 г., 23:53:42
Просмотры: 1.84K
Голосов: 1

Мне удалось добавить собственное меню в админ-бар. Я хочу, чтобы первый пункт меню ссылался на страницу настроек моей темы.

Например, будет ли этот вариант полностью надежным или существует более прямой метод?

echo '<a href="'.get_admin_url().'admin.php?page=functions.php">Настройки темы</a>';
0
Все ответы на вопрос 2
0

Предполагая, что при установке никогда не будет зарегистрирована страница с таким же именем через плагин, это должно быть безопасно. Я бы рекомендовал дать вашей зарегистрированной странице уникальное имя с префиксом. Во-вторых, если имя страницы ссылается на файл функций вашей темы, не будет ли это означать прямой вызов файла (вам никогда не следует напрямую вызывать файл функций темы).

Вы можете передать get_admin_url и также admin_url путь для добавления, чтобы использовать это следующим образом...

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

или аналогично...

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

Нет необходимости в конкатенации, и, конечно, добавьте HTML ссылки обратно по мере необходимости (я опустил это для краткости).

Еще одно предложение — не использовать имя файла в качестве значения страницы, которое вы зарегистрировали. Я постоянно вижу, как плагины делают это, и это всегда сводило меня с ума. Логичнее просто передать коду регистрации страницы уникальную строку, а не имя файла (обычно это делается с помощью __FILE__, что лично мне кажется некрасивым и костыльным).

Таковы мои первоначальные наблюдения. В идеале, я бы хотел увидеть код, который регистрирует страницу, и узнать, где находится этот код регистрации, т.е. в каком файле.

14 дек. 2011 г. 00:09:56
0

Как насчёт этого:

echo "<a href='".admin_url('/admin.php?page=functions.php')."'>Настройки темы</a>";

Кодекс для admin_url. Кстати, вы добавляете страницу меню/подменю для своих пользовательских настроек темы? Вы можете использовать её слаг здесь.

14 дек. 2011 г. 00:08:23