如果将默认值用作变量,如何向get_option
添加默认值?
代码:
$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
或false 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'; ?>">
答案 0 :(得分:1)
撰写本文时,您仅捕获Undefined Index
错误。还有一个不适当的括号使它在语法上毫无意义。我的意见是,三元运算符对这么多文字感到丑陋。这将做完全相同的事情。理解它们后,您始终可以使事情变得更加优雅。
<div id="identifier" class="classname" style="background-color:
<?php
if (
isset($my_options['my_background_color_option']) &&
$my_options['my_background_color_option'] != FALSE
)
{$op = $my_options['my_background_color_option'];}
else
{$op = '#000';}
echo esc_attr($op);
?>
">
编辑:
您也可以使用empty
以更少的语言实现这一目标。
<div id="identifier" class="classname" style="background-color:
<?php
if (!empty($my_options['my_background_color_option']))
{$op = $my_options['my_background_color_option'];}
else
{$op = '#000';}
echo esc_attr($op);
?>
">
从那里开始,您的三元数看起来会更好一点:
<div id="identifier" class="classname" style="background-color:
<?php
echo esc_attr((!empty($my_options['my_background_color_option']) ? $my_options['my_background_color_option' : '#000'));
?>
">
答案 1 :(得分:-1)
最易读的方式可能是:
$my_options = get_option( 'my_options' );
if (isset($my_options['my_background_color_option'])) {
$color = $my_options['my_background_color_option'];
}
else {
$color = '#FF0000'; //Default color
}