Статьи

Совет: создайте страницу глобальных опций WordPress

WordPress — это отличная платформа для создания специализированных сайтов очень эффективным способом. WordPress управляет всей этой магией только в 11 таблицах базы данных. wp_options — это одна из таблиц, которая действует как разум веб-сайта на WordPress.

В этой таблице хранится вся информация, относящаяся к вашему сайту, например, название сайта, слоган с описанием сайта, URL сайта и многое другое. Всю эту информацию можно легко получить с помощью функции get_option () , вам просто нужно передать имя поля, которое вы хотите получить. Например: get_option('home') вернет URL домашней страницы.

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


Если вы хотите сохранить свой идентификатор Twitter, просто следуйте этому руководству, и вы получите свой идентификатор Twitter, используя get_option (‘twitterid’) в активной теме вашей установки WordPress.


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


Этот шаг просто добавит новое меню для администратора, с помощью которого мы можем просматривать нашу страницу.

1
add_action(‘admin_menu’, ‘add_global_custom_options’);

Здесь мы назначим пользовательскую функцию, которая создаст форму.

1
2
3
4
function add_global_custom_options()
{
    add_options_page(‘Global Custom Options’, ‘Global Custom Options’, ‘manage_options’, ‘functions’,’global_custom_options’);
}

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
<?php
function global_custom_options()
{
?>
    <div class=»wrap»>
        <h2>Global Custom Options</h2>
        <form method=»post» action=»options.php»>
            <?php wp_nonce_field(‘update-options’) ?>
            <p><strong>Twitter ID:</strong><br />
                <input type=»text» name=»twitterid» size=»45″ value=»<?php echo get_option(‘twitterid’); ?>» />
            </p>
            <p><input type=»submit» name=»Submit» value=»Store Options» /></p>
            <input type=»hidden» name=»action» value=»update» />
            <input type=»hidden» name=»page_options» value=»twitterid» />
        </form>
    </div>
<?php
}
?>

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

1 — Поместите новое текстовое поле с уникальным именем. Например, если вы хотите сохранить ссылку на страницу Facebook, она будет выглядеть так:

1
2
3
<p><strong>Facebook Page Links:</strong><br />
    <input type=»text» name=»fb_link» size=»45″ value=»<?php echo get_option(‘fb_link’); ?>» />
</p>

2 — Вам необходимо обновить значение скрытого поля с именем «page_options», в этом случае оно должно быть обновлено до значения ниже.

1
<input type=»hidden» name=»page_options» value=»twitterid,fb_link» />

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


После размещения вышеуказанного кода в functions.php загляните на страницу администратора. Вы найдете новую ссылку в вашем меню администратора под названием «Глобальные пользовательские параметры».

Просто введите свои значения в эту форму, и вы можете использовать эти значения в файлах темы, таких как «get_option (‘twitterid’)» .


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

Как вы думаете, вы найдете этот код полезным в ваших темах? Дайте нам знать, что вы думаете об этом в комментариях.


Обновление: хотя эта статья демонстрирует быстрый способ достижения определенного результата, она не строго придерживается передового опыта. Рекомендуемое чтение по этой теме: Использование API настроек: Часть 1. Страница «Создание темы»