WordPress-如果将其用作变量,则将默认值添加到get_option

时间:2019-07-16 20:57:00

标签: php wordpress

如果将默认值用作变量,如何向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 errorfalse 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'; ?>">

2 个答案:

答案 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
}