如果GET_OPTION被用作变量,如何为其添加缺省值?

时间:2019-07-16 作者:LebCit

如何将默认值添加到get_option 如果它被用作variable ?

代码:

$my_options = get_option( \'my_options\' ); // Associative Array \'my_options\'.

<div id="identifier" class="classname" style="background-color: <?php 
echo esc_attr( $my_options[\'my_background_color_option\'] ); ?>">
我想避免Undefined index error 或afalse return.

以下是否正确?

<div id="identifier" class="classname" style="background-color: <?php 
echo esc_attr( $my_options[\'my_background_color_option\'] ) ? $my_options[\'my_background_color_option\'] : \'#000\'; ?>">

1 个回复
SO网友:Sally CJ

所以我最初建议规范化选项数组;i、 e.将保存的值与默认值合并。这确实解决了“未定义索引”的问题:

$my_options = wp_parse_args( get_option( \'my_options\' ), [
    \'my_background_color_option\' => \'#000\',
    // ... other args.
] );
但要确保选项不是空的(例如\'\', false, null, 0[]), 您可以使用empty() like so:(贷记到)this answer 和你自己/OP)

<div id="identifier" class="classname" style="background-color: <?php echo esc_attr( // wrapped for clarity
    ( ! empty( $my_options[\'my_background_color_option\'] ) ) ?
        $my_options[\'my_background_color_option\'] : \'#000\'
); ?>">
还有array_merge(), 但上述内容确实有助于验证选项。(但很抱歉,我把重点放在了“未定义索引”上,有点忘记了(避免a)false return... =) )

相关推荐

如何为wp-admin/options.php模板中的媒体白名单_选项加值?

我想在我的多站点上设置媒体变量的默认值。如果我想在一个网站上这样做,很简单,我会在mysite上添加值。com/wp管理/选项。php到image\\u default\\u align、image\\u default\\u link\\u type和image\\u default\\u size,但我无法为这些添加网络全局值。所以我想手动编辑核心文件:/wp admin/options。php,但我不知道如何做到这一点,这个级别的php不在我的范围之内。下面是列出变量的代码,但对于这些最初不按顺序排