wordpress知识库
网站首页 > 知识库 > wordpress知识 >

wordpress二次开发自定义管理员通知

2012/07/31

默认的wordpress程序会发送一些特定的通知,比如注册登录、表单提交完成后,网站出现410错误之类的,会自动触发wordpress的管理员通知,如果我们要添加自定义管理通知,需要通过什么方式来实现呢?这就是我们下来要讲解的。正如WordPress几乎每样功能都有多种方式实现一样,添加自定义管理通知也是有多种方法的。

添加自定义通知方法1:admin_notices 钩子

// 创建自定义通知
function add_notice_diy() { ?>
    
    <div class="diyclass">
        <p>我是一个自定义通知</p>
    </div>
    
<?php }
add_action('admin_notices', 'add_notice_diy');

这个添加通知的方法是非常灵活的,让你可以在任何时间、任何地点显示自定义信息。

添加自定义通知方法2:add_settings_error() 函数

settings_errors( string $setting = '', bool $sanitize = false, bool $hide_on_update = false )

上面是使用说明,这里提供一个小demo以供参考

function sanitize_opt( $value ) {

    $option_name = 'my_option'; // option name
    $message = 'The data was successfully updated.';
    $type = 'updated';

    if( empty( $value ) ){
        $type = 'error';
        $message = 'Field xxxx cannot be empty';
    }

    if( is_numeric( $value ) ){
        $type = 'error';
        $message = 'Field xxxx cannot be a number';
    }

    // Clean up the option
    $value = sanitize_text_field( $value );

    add_settings_error( $option_name, 'settings_updated', $message, $type );

    if( $type === 'error' ){
        return get_option( $option_name );
    }

    return $value;
}

这种方法和第一种方法其实区别就在于第一种的自定义通知方法更加开放,挂载钩子里面的程序代码自己可以随意编写,而第二种,是wordpress提供了一套完整的通知模板,你需要按照它的规范来提供一系列的参数,这里wordpress插件推荐使用第一种方法,更加灵活。