选项1:更改选项show
到hide
:
最简单的方法是更改
option
. 因此
$options[\'classy_show_resume\']
, 您可以将其实现为
$options[\'classy_hide_resume\']
.
这样,默认情况下hide option
是not checked, 这意味着您默认显示它。然后把它藏起来hide option
已选中。
因此,只需更改选项的名称,然后实现hide option
(而不是show option
) 在您的主题中,您可以轻松修复它。
因此,您的代码如下所示:
function classy_hide_resume_section_callback () {
$options = get_option( \'classy_general_settings\' );
$html = "<label class=\'switch\'>";
if ( empty( $options[\'classy_hide_resume\'] ) ) $options[\'classy_hide_resume\'] = 0;
$html .= "<input type=\'checkbox\' name=\'classy_general_settings[classy_hide_resume]\' value=\'1\' " . checked($options[\'classy_hide_resume\'], 1, false) . " >";
$html .= "<div class=\'slider round\'></div>";
$html .= "</label>";
echo $html;
}
选项2:制造
classy_show_resume
默认选中:如果必须使用
classy_show_resume
如果默认为选中,则可以使用以下逻辑:
默认情况下get_option( \'classy_general_settings\' )
应返回false
当它保存为unchecked
, 它将是一个空字符串或一个$options[\'classy_show_resume\']
未设置。因此,我们将使用它来确定默认值vs.savedchecked
或unchecked
价值
据此,您的新代码如下所示:
function classy_hide_resume_section_callback () {
$options = get_option( \'classy_general_settings\' );
$classy_show_resume = 0;
if ( $options === false ) {
// nothing is set, so apply the default here
$classy_show_resume = 1;
}
else if( is_array( $options ) && isset( $options[\'classy_show_resume\'] ) ) {
// classy_show_resume is checked
$classy_show_resume = $options[\'classy_show_resume\'];
}
$html = "<label class=\'switch\'>";
$html .= "<input type=\'checkbox\' name=\'classy_general_settings[classy_show_resume]\' value=\'1\' " . checked( $classy_show_resume, 1, false ) . " >";
$html .= "<div class=\'slider round\'></div>";
$html .= "</label>";
echo $html;
}
现在,默认情况下应选中它并显示正确的
checked
|
unchecked
保存后的状态。