我正在开发一个自定义主题。我添加了一个带有设置api的复选框。它们都可以工作,但默认选中的除外(选中=”选中“)。未选中时不保存(仅状态,值保存)。
现在,我想做两件事:1-在默认复选框上取消选中时保存复选框状态。2-自动保存默认复选框,用户无需首先单击;保存更改;。(例如,在页面加载保存默认复选框时)。
I searched everywhere for an answer already but I could not find anyone with this same question. They all handle checkboxes but none handle default "checked" checkboxes.
复选框的代码:
echo \'<input type="checkbox" class="theme-custom-checkbox" name="theme_custom_option" value="1" checked="checked"\' . checked( 1, get_option( \'theme_custom_option\' ), false ) . \' />\';
最合适的回答,由SO网友:mozboz 整理而成
使用添加到问题中的代码,您添加了两次HTML“checked”属性,这可能就是为什么事情变得混乱的原因。你把它硬编码为checked="checked"
, 但是后来checked( 1, get_option( \'theme_custom_option\' ), false )
将写入另一个与选项的实际值相对应的选中属性。
您应该能够通过使用视图源代码或开发人员工具查看生成的HTML来验证是否能够对其进行调试。
摘自文档页面checked
Wordpress中的函数https://developer.wordpress.org/reference/functions/checked/ 您的代码可能如下所示:
echo \'<input type="checkbox" class="theme-custom-checkbox" name="theme_custom_option" value="1" \' ;
echo checked( 1, get_option( \'theme_custom_option\' ), false );
echo \' />\';
注意:为了便于阅读,代码稍微整理了一下