You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

主题激活时添加Option表空值失败的技术求助

解决主题激活时添加空值到Option表的问题

你的代码未生效的核心原因是钩子选择错误:switch_theme是主题切换前触发的动作,此时新主题的初始化流程尚未完成,更适合使用after_switch_theme钩子——它会在主题切换完成后执行,能确保操作时机正确。

另外,add_option函数若检测到目标选项已存在,不会重复执行添加操作。如果需要确保无论选项是否存在都设置为空值,可以结合update_option处理;若仅需首次激活主题时添加空值(后续切换回该主题不覆盖原有值),直接使用add_option即可。

修改后的代码示例

场景1:每次激活主题都将选项设为空值

function Arion_register_option() {
    // 检查选项是否存在,不存在则添加空值,存在则更新为空值
    if (get_option('arion_site_logo') === false) {
        add_option('arion_site_logo', '');
    } else {
        update_option('arion_site_logo', '');
    }
}
add_action('after_switch_theme', 'Arion_register_option');

场景2:仅首次激活主题时添加空值

function Arion_register_option() {
    add_option('arion_site_logo', '');
}
add_action('after_switch_theme', 'Arion_register_option');

替换原有代码后,即可在主题激活时成功将空值写入option表。

内容的提问来源于stack exchange,提问作者coppersmith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 18:44:49