christianbenincasa
  • 0
Новичок

Помогите с настройками пользовательских виджетов! (опция сохранения флажка)

  • 0

Я создал пользовательский виджет Flickr для WordPress и успешно настроил форму параметров, чтобы пользователи могли вводить свою информацию Flickr, но я не могу установить флажок в форме для сохранения, независимо от того, установлен он или нет. Любая помощь будет принята с благодарностью! Вот мои функции widget(), form() и update():

function widget($args, $instance) {
extract($args);

$title = apply_filters('widget_title', $instance['title']);
$displaynum = $instance['displaynum'];
$flickrid = $instance['flickrname'];
$num = 6;
$feed = new SimplePie($instance['feed']);
$feed->handle_content_type(); 
$photostream = $instance['show_photostream'];


function update($new_instance, $old_instance) {
$instance = $old_instance;

$instance['title'] = strip_tags($new_instance['title'] );
$instance['displaynum'] = strip_tags($new_instance['displaynum'] );
$instance['feed'] = $new_instance['feed'];
$instance['flickrname'] = $new_instance['flickrname'];
$instance['show_photostream'] = (bool) $new_instance['show_photostream'];

return $instance;
}

function form($instance) {
$defaults = array (
    'title' => 'My Recent Flickr Uploads',
    'displaynum' => 6,
    'feed' => 'http://api.flickr.com/services/feeds/photos_public.gne?id=33927859@N06&lang=en-us&format=rss_200',
    'flickrname' => 'rastajellyfish',
    'show_photostream' => isset( $instance['show_photostream'] ) ? (bool) $instance['show_photostream'] : false
);
$instance = wp_parse_args( (array) $instance, $defaults); ?>

Любая помощь будет принята с благодарностью!!!

Share
  1. Я бы сделал:

    function update($new_instance, $old_instance) {
        ...
    
        $instance['show_photostream'] = $new_instance['show_photostream'];
    
        return $instance;
    }
    
    function form($instance) {
        $defaults = array (
            ...
            'show_photostream' => !empty( $instance['show_photostream'] ) ? $instance['show_photostream'] : false
        );
        $instance = wp_parse_args( (array) $instance, $defaults);
    
    • 0

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

You must login to add an answer.