你做这件事的方式有些问题。
下一行读取您在中的设置。。。
$settings = get_option( \'eddreldlc_options\', $eddreldlc_options );
因此,设置如下所示:
array(
\'loop_true\' => array(
\'value\' => \'true\',
\'label\' => \'True\'
),
\'loop_false\' => array(
\'value\' => \'false\',
\'label\' => \'False\'
)
);
您的循环如下所示
foreach( $eddreldlc_auto_play as $layout )
因此,您实际得到的是以下各项
$layout
变量
$layout = array(
\'value\' => \'true\',
\'label\' => \'True\'
);
然而,您正在引用以下内容进行检查:
$settings[\'eddreldlc_auto_play\']
由于您的
$settings
变量
根据你的代码判断,你的意思可能是
checked( $layout[\'value\'], \'true\' );
当然,该代码中还有一些其他问题。我将其改写如下:
<?php
$settings = get_option( \'eddreldlc_options\', $eddreldlc_options );
foreach( $eddreldlc_auto_play as $layout ) {
$value = esc_attr( $layout[\'value\'] );
$checked = checked( $layout[\'value\'], \'true\', false );
echo <<<HTML
<input type="radio" id="eddreldlc_layout_{$layout[\'value\']}" name="eddreldlc_autoplay" value="{$value}" {$checked} />
<label for="eddreldlc_layout_{$layout[\'value\']}">{$layout[\'label\']}</label><br />
HTML;
}
您的id很容易被踩踏,因此我将其变得更加独特。您在广播中的名字看起来像是您在站点中设置了踩踏您声称正在阅读的阵列的选项,因此我更改了名称以避免混淆预期内容
我个人更喜欢heredoc符号,因为它使阅读更容易,不管怎样,修复引用的索引,您应该可以很好地使用。