WordPress — это отличная платформа для создания специализированных сайтов очень эффективным способом. WordPress управляет всей этой магией только в 11 таблицах базы данных. wp_options — это одна из таблиц, которая действует как разум веб-сайта на WordPress.
В этой таблице хранится вся информация, относящаяся к вашему сайту, например, название сайта, слоган с описанием сайта, URL сайта и многое другое. Всю эту информацию можно легко получить с помощью функции get_option () , вам просто нужно передать имя поля, которое вы хотите получить. Например: get_option('home')
вернет URL домашней страницы.
Но WordPress не дает возможности добавлять новые опции в эту таблицу, которые можно легко получить. Итак, вот учебник, который создает новую страницу в вашем администраторе WordPress, и на этой странице вы можете сохранить свои глобальные параметры.
Что мы получим?
Если вы хотите сохранить свой идентификатор Twitter, просто следуйте этому руководству, и вы получите свой идентификатор Twitter, используя get_option (‘twitterid’) в активной теме вашей установки WordPress.
Код
Вот блок кода, где я буду проходить через каждый шаг кода. Вам просто нужно поместить этот блок кода в файл functions.php
вашей активной темы, и все готово.
Шаг 1 Добавить меню администратора
Этот шаг просто добавит новое меню для администратора, с помощью которого мы можем просматривать нашу страницу.
1
|
add_action(‘admin_menu’, ‘add_global_custom_options’);
|
Шаг 2 Назначьте функцию, которая анализирует форму администратора
Здесь мы назначим пользовательскую функцию, которая создаст форму.
1
2
3
4
|
function add_global_custom_options()
{
add_options_page(‘Global Custom Options’, ‘Global Custom Options’, ‘manage_options’, ‘functions’,’global_custom_options’);
}
|
Шаг 3 Создайте функцию, которая генерирует форму
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. Страница «Создание темы»