php - 在 WordPress 小部件问题中保存复选框值

标签 php wordpress widget

我为 Wordpress 创建了一个自定义 Flickr 小部件,并成功设置了一个选项表单供用户输入其 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); ?>

任何帮助将不胜感激!!!

最佳答案

5 分钟前,我在自定义图像小部件中遇到了与您相同的问题,并按照 Hnrch 建议查看默认小部件解决了该问题。

我的问题是由在我的复选框输入上回显错误的名称属性引起的。有一个名为 get_field_name() 的方法,它会输出正确的输入名称。这是我的(现已起作用)复选框的示例:

<input id="<?php echo $this->get_field_id('linktarget'); ?>" name="<?php echo $this->get_field_name('linktarget'); ?>" type="checkbox" <?php checked(isset($instance['linktarget']) ? $instance['linktarget'] : 0); ?> />&nbsp;

在您的情况下,“linktarget”应为“show_photostream”

关于php - 在 WordPress 小部件问题中保存复选框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3633198/

相关文章:

php - RSS 提要和特殊字符

php - 没有 Laravel 的 Eloquent ORM 中的两个数据库

php - 从 php mysql 中的 csv 文件的标题中删除反斜杠 "\"

html - 如何将用户定义的 CSS 类添加到我的自定义小部件呈现代码中?

android - Android 应用小部件的问题

php - file_get_contents => PHP fatal error : Allowed memory exhausted

php - Youtube API - 请求元数据指定了无效的视频描述

php - 找出博客正在使用的 WordPress 版本(从外部)

php - 将响应式菜单拆分为两列

python - 根据 ipywidgets 中另一个下拉列表的选择更新下拉列表