dty98339 2016-02-21 05:20
浏览 131

添加一个按钮以重置WordPress主题选项

I have created a theme options page for a WordPress theme, and I need to add a Reset button to clear all the user defined settings for theme options.

I'm told that this function will do the job,

function reset_mytheme_options() { 
    remove_theme_mods();
}
add_action( 'after_switch_theme', 'reset_mytheme_options' );

But, don't know how to run this function on a button click.

So, will this function do what I needed ? If so, how to run it on a button click ?

  • 写回答

1条回答 默认 最新

  • dongxing7083 2016-02-21 07:14
    关注

    As you mentioned you are using settings API then you can implement in this way.

    1. Add button in theme option page after the submit button.

      submit_button(__('Reset'), 'secondary', 'reset', false);

    2. When you registering settings pass the validation callback

      register_setting('option_group', 'options_name', 'save_theme_option');

    3. When form is submitted by reset button then check the request for reset and return the default settings.

    Example

    function save_theme_option($input) {
        if (isset($_POST['reset'])) {
            add_settings_error('settingName', 'SettingSlug', __('Your settings has been changed defualt setting.', 'text-domain'), 'updated');
            return array('a' => 1, 'b' => 2); //Default settings
        }
    
        return $input;
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么