Intereting Posts
Как редактировать изображение блока Извлеките случайный комментарий из определенного сообщения, покажите его на домашней странице с коротким кодом Как проверить, существует ли мета-ключ сообщения в базе данных wordpress PHP 5.5, w3 Общий кэш и opcache Multisite – сделать файлы доступными через сеть do_shortcode через ajax Добавление кнопки образца в определенные категории с помощью этого кода? wp_update_post () пустой экран Как установить пользовательский заголовок настраиваемого шаблона страницы? новый WP_Query () – каков самый ранний допустимый крючок? Передняя часть пуста (т.е. ничего не отображается); Задний конец выглядит хорошо; Каковы возможные причины? Пользовательские поля продукта в плагине wp e-Commerce Комментарий «Ответ» не работает, если комментарии загружаются из ajax ошибка multisite 404 для подкаталога При использовании плагина Simple Fields, как я могу извлечь информацию из базы данных для отображения на странице?

Как восстановить ранее сохраненную опцию?

Я работаю над простым плагином (вроде плагина обслуживания), где я обновляю домашнюю страницу на основе выбора опций страницы.

function set_hp(){ $page = get_option('get_the_page'); if ( $page ) { update_option( 'page_on_front', $page ); update_option( 'show_on_front', 'page' ); } } add_action('wp', 'set_hp'); 

Теперь домашняя страница обновляется с выбранным пользователем. Есть ли способ, когда плагин отключен, обновленная ранее домашняя страница (*, установленная на первой странице read.php *) обновляется.

PS: Я пробовал

 register_deactivation_hook( __FILE__, 'myplugin_deactivate' ); function myplugin_deactivate(){ delete_option( 'page_on_front', $page ); delete_option( 'show_on_front', 'page' ); } 

Но это удаляет параметр домашней страницы, и пользователь должен установить это снова.

благодаря

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

Таким образом, вы можете добавить настраиваемую «резервную» опцию, которую вы восстанавливаете при деактивации.

Что-то вроде этого, когда ваш вариант установлен первым:

 function set_hp(){ update_option( 'wpse_231804_backup_page_on_front', get_option( 'page_on_front' ) ); update_option( 'wpse_231804_backup_show_on_front', get_option( 'show_on_front' ) ); // ... include the rest of your code here ... } 

С простым обратным при отключении:

 function myplugin_deactivate(){ update_option( 'page_on_front', get_option( 'wpse_231804_backup_page_on_front' ) ); update_option( 'show_on_front', get_option( 'wpse_231804_backup_show_on_front' ) ); }