Страницы настроек темы WordPress

Дата публикации:Август 30, 2010

Страница настроек темы — это обычная страница в панели администратора, содержащая необходимую информацию или настройки для используемой темы. Создается данная страница при помощи файла functions.php.

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

Создание простой страницы администратора

Сформируем страничку настроек администратора, которая будет выводить какую-либо информацию. Первое, что нам потребуется — это добавить новый пункт меню в панели администратора:

add_action('admin_menu', 'nbcore_menu');
function nbcore_menu() {
add_theme_page('Notes Blog Core', 'Notes Blog Core', 8, 'your-unique-identifier', 'nbcore_options');
}

В функции nbcore_menu() задается название страницы, заголовок страницы, категория пользователей, для которых доступна данная страница, уникальный идентификатор и название функции, ответственной за вывод содержания. Функция nbcore_options может выглядеть следующим образом:

function nbcore_options() {
echo '<div>';
echo '
<h2>Notes Blog Core</h2>
<p>This is a placeholder for upcoming admin options for the Notes Blog Core theme.
These things aren\'t due yet, in fact, they are pretty far away, so just forget about this page
for now huh?</p>
<p>Get the latest Notes Blog and Notes Blog Core news from <a href="http://notesblog.
com" title="Notes Blog">http://notesblog.com</a> - it\'s that sweet!</p>
';
echo '</div>';
}
?>

Ничем особенным функция не отличается. В ней задается HTML-код, формирующий представление страницы.

Весь код целиком:

<?php
add_action('admin_menu', 'nbcore_menu');
function nbcore_menu() {
add_theme_page('Notes Blog Core', 'Notes Blog Core', 8, 'your-unique-identifi er', 'nbcore_
options');
}
function nbcore_options() {
echo '<div>';
echo '
<h2>Notes Blog Core</h2>
<p>This is a placeholder for upcoming admin options for the Notes Blog Core theme. These
things aren\'t due yet, in fact, they are pretty far away, so just forget about this page for
now huh?</p>
<p>Get the latest Notes Blog and Notes Blog Core news from <a href="http://notesblog.com"
title="Notes Blog">http://notesblog.com</a> - it\'s that sweet!</p>
';
echo '</div>';
}
?>

Существующие проблемы со страницами настроек

Помимо очевидных проблем, возникающих в результате присутствия каких-либо ошибок в коде файла functions.php, существуют и другие отрицательные стороны применения страниц настроек. Одна из них — снижение скорости загрузки сайта. В том случае, если файл functions.php переполнен различными функциями, потребуется довольно длительное время на его открытие, и, следовательно, сайт начнет тормозить. Естественно, это отрицательно скажется на притоке посетителей, что крайне нежелательно.

Рациональное использование файла functions.php подразумевает под собой создание небольших страниц, содержащих в себе лишь несколько основных настроек. Функции, несущие какие-либо дополнительные возможности, разумно было бы представить в виде отдельного файла или плагина. Тем самым вы значительно увеличите производительность своего сайта.

Поделиться

4 комментария

  1. Wayphorier says:

    Спасибо за статью. Но с самой страницей настроек все понятно, а вот с самими настройками как быть? Как создавать различные поля, выпадающие списки и т.п., чтобы была возможность вносить свои значения, а затем записывать все изменения в базу данных?
    Возможно, у вас на блоге есть продолжение этой статьи, но я поискал в нескольких вроде бы подходящих рубриках и не нашел.

  2. Wayphorier says:

    Да, и потом еще вытаскивать значения настроек из базы для использования в шаблоне темы :)

  3. Architect Of Ruin says:

    Недавно как раз с этой темой почти целый день разбирались с одним из пользователей. Вот, почитайте эту статью, авось поможет: http://oddstyle.ru/wordpress-2/stati-wordpress/sozdanie-stranicy-nastroek-dlya-wordpress-temy.html

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Получать новые комментарии по электронной почте. Вы можете подписаться без комментирования.