首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保存Widgets Wordpress中的复选框组

问保存Widgets Wordpress中的复选框组
EN

Stack Overflow用户
提问于 2013-04-12 18:52:31
回答 1查看 2.8K关注 0票数 3

我无论如何都不能让多个复选框起作用!

其他的都可以,包括单个复选框,但我不知道如何创建多个复选框。

我想要的是:

我有一个自定义的帖子类型,叫做Team,所有的团队成员都在里面。我想让一个小工具的帖子在团队。我希望复选框输出团队中的所有帖子,最终用户可以选择要显示的对象。

我试着在数组中这样做,但不起作用。

我的单个复选框是这样的:

代码语言:javascript
复制
public function widget( $args, $instance ) {
    $teammember = $instance['teammember'];
}

public function update( $new_instance, $old_instance ) {
    $instance['teammember'] = $new_instance['teammember'];
    return $instance;
}

public function form( $instance ) {
    $teammember = $instance['teammember'];
?>
<p>
    <input id="<?php echo $this->get_field_id('teammember'); ?>" name="<?php echo $this->get_field_name('teammember'); ?>" type="checkbox" value="Name 1" <?php checked( '1', $teammember ); ?>/> Name 1
    <input id="<?php echo $this->get_field_id('teammember'); ?>" name="<?php echo $this->get_field_name('teammember'); ?>" type="checkbox" value="Name 2" <?php checked( '1', $teammember ); ?>/> Name 2
</p>
<?php } ?>

假设我有10个团队成员,我希望他们都在小部件中有一个复选框,最终用户可以选择要显示的团队成员。

我该怎么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-13 00:51:36

在您的示例中,由于重复的ID,输入将具有W3C违规。两个名称将相互覆盖。

$this->get_field_name('teammember');将返回相同的结果并相互覆盖。

您需要将其作为数组来实现。

代码语言:javascript
复制
<?php
    public function form($instance) {
        $teammember = $instance['teammember'];
?>
<p>
    <?php
        foreach($teammember as $id => $name) {
    ?>
    <input id="<?php echo $this->get_field_id('teammember') . $id; ?>" name="<?php echo $this->get_field_name('teammember'); ?>[]" type="checkbox" value="<?php echo $name; ?>" <?php checked('1', $name); ?> />
    <?php
        }
    ?>
</p>
<?php
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15969464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档