Как сохранить и отобразить информацию, введенную в поле настроек административной панели в WordPress? Приведен ниже пример кода, который добавляет поля в меню настроек административной панели WordPress и объясняет, как сохранять и отображать введенные данные.
```php
add_action('admin_menu', 'site_options');
function site_options(){
add_submenu_page(
'options-general.php',
'Site Options',
'Site Options',
'manage_options',
'site_options', // slug
'my_custom_submenu_page_callback'
);
}
function my_custom_submenu_page_callback(){
// Проверяем, была ли отправлена форма
if(isset($_POST['submit'])){
// Получаем значение введенное пользователем
$field_value = $_POST['my_field'];
// Сохраняем значение в базе данных WordPress
update_option('my_field_option', $field_value);
}
// Получаем ранее сохраненное значение
$saved_value = get_option('my_field_option');
?>
<form method="post" action="">
<p>Copyright
<input type="text" name="my_field" value="<?php echo esc_attr($saved_value); ?>">
</p>
<input type="submit" name="submit" value="Save">
</form>
<?php
}
```
В приведенном коде функция `my_custom_submenu_page_callback` создает форму с полем ввода, в которое пользователь может ввести информацию. При отправке формы, значение поля сохраняется в базе данных WordPress с помощью функции `update_option`. При следующем отображении страницы значение из базы данных выводится в поле ввода с помощью функции `get_option`.
Чтобы сохранить информацию, введенную пользователем в произвольное поле настроек, вам нужно использовать функцию `update_option` внутри обработчика формы. В данном примере значение, введенное пользователем, сохраняется в базе данных с ключом `my_field_option`:
```php
// Проверяем, была ли отправлена форма
if(isset($_POST['submit'])){
// Получаем значение введенное пользователем
$field_value = $_POST['my_field'];
// Сохраняем значение в базе данных WordPress
update_option('my_field_option', $field_value);
}
```
Чтобы отобразить сохраненную информацию на сайте, вам нужно использовать функцию `get_option`, чтобы получить ранее сохраненное значение, и затем вывести его в нужном месте на странице:
```php
// Получаем ранее сохраненное значение
$saved_value = get_option('my_field_option');
// Выводим сохраненное значение в нужном месте на странице
echo esc_html($saved_value);
```
Вы можете поместить этот код в нужное место на вашей странице, например, внутри шаблона вашей темы или внутри файла функций темы.
Помните, что значение, сохраненное с помощью `update_option`, будет доступно до тех пор, пока вы не измените или удалите его. При необходимости вы можете изменить ключ `my_field_option` и другие названия в коде согласно вашим потребностям.
Решение этой проблемы состоит в использовании плагина ACF (Advanced Custom Fields). Вам нужно добавить следующий код в файл functions.php:
```php
if (function_exists("acf_add_options_page")) {
acf_add_options_page(array(
"page_title" => "Options",
"menu_title" => "Options",
"menu_slug" => "theme_settings",
));
}
```
Далее в настройках группы полей вы добавляете новую группу с условием отображения "(Страница с опциями равно "Options")".
Чтобы вывести значение поля, используйте следующий код:
```php
```
Вместо "ярлык_вашего_поля" вставьте ярлык вашего поля.