nmystic
  • 0
Новичок

Как передать пользовательские параметры из формы виджета в обратный вызов обновления виджета?

  • 0

Я добавил несколько опций флажка в форму виджета по умолчанию. Но я застрял в том, как получить доступ к этим состояниям параметров и передать их во время события сохранения виджета ( widget_update_callback ), чтобы они могли быть сохранены WP в БД.

Как передать свои пользовательские значения формы в WP, чтобы сохранить их в качестве параметров виджета для каждого виджета?

В первой функции я добавляю параметры флажка ко всем панелям управления виджетами…

add_filter('in_widget_form', 'wse_widget_context_form');

function wse_widget_context_form(){

$checked = ' checked="checked"';
?>
<div class="wse_context">
    <ul>
        <li>Don't show this widget on: </li>
        <li><label><input value="on" type="checkbox" name="noHome" id="noHome"<?php if(isset($instance['noHome'])) echo $checked ?> />Home Page</label></li> 
        <li><label><input value="on" type="checkbox" name="noPosts" id="noPosts"<?php if(isset($instance['noPosts'])) echo $checked ?> /> Posts</label></li>
        <li><label><input value="on" type="checkbox" name="noPages" id="noPages"<?php if(isset($instance['noPages'])) echo $checked ?> /> Pages</label></li>
        <li><label><input value="on" type="checkbox" name="noCats" id="noCats"<?php if(isset($instance['noCats'])) echo $checked ?> /> Categories</label></li>
    </ul>
</div>

Функция обратного звонка ниже. $instance не содержит пользовательских значений формы, только значения виджета по умолчанию (текст и содержимое). Как добавить свои пользовательские параметры в $instance ?

<?php
add_filter('widget_update_callback', 'wse_widget_context_callback');

function wse_widget_context_callback($instance){
    echo 'instance: '.$instance.'<br/>'; // returns array but no custom form values

}
Share

Оставить ответ

You must login to add an answer.