WordPress小工具值不保存?

时间:2011-06-23 作者:Webd106

全部的

现在我创建了一个小部件插件,在这里我遇到了复选框问题,没有保存值,然后我搜索表单网,找到了答案,但现在我不明白(bool).

        <label for="<?php echo $this->get_field_id( \'post_date\' ); ?>">
    <input class="checkbox" type="checkbox" name="<?php echo $this->get_field_name( \'post_date\' ); ?>" id="<?php echo $this->get_field_id( \'post_date\' ); ?>"  <?php checked( (bool) $instance[\'post_date\'], true ); ?> />
    <?php _e( \'Show post date\' ); ?>
  </label>

1 个回复
SO网友:skycrew

我以前也遇到过这个问题。我尝试使用(bool),但问题仍然出现。

(bool) $instance[\'post_date\']
将始终返回true,除非$instance[\'post\\u date\']是空数组、NULL或空字符串

您可以从http://php.net/manual/en/language.types.boolean.php

<?php
    var_dump((bool) "");        // bool(false)
    var_dump((bool) 1);         // bool(true)
    var_dump((bool) -2);        // bool(true)
    var_dump((bool) "foo");     // bool(true)
    var_dump((bool) 2.3e5);     // bool(true)
    var_dump((bool) array(12)); // bool(true)
    var_dump((bool) array());   // bool(false)
    var_dump((bool) "false");   // bool(true)
?>
因此,为了处理这个问题,我打印$实例[\'post\\u date\',并获取值“on”。所以现在我的代码看起来像这样,工作得很好。

<?php checked( $instance[\'post_date\'], \'on\' ); ?>

结束

相关推荐

Why use widgets?

我对使用WordPress很陌生,我想知道使用小部件的好处是什么?看here 这听起来像是为那些不是程序员的人准备的,他们想在他们的网站上添加插件。对吗?或者小部件是否在某种程度上使站点更加健壮?