php – 如何在WordPress发布按钮中添加确认对话框?

我正在开发一个wordpress插件,它创建了一个带有一些特殊字段的自定义帖子类型“知识库文章”.我希望发布按钮警告用户在提交之前是否缺少字段.我该怎么做呢?是否有适当的钩子来插入此行为?

解决方法:

您可以在wp-admin / js / common.js中使用基本的客户端表单验证脚本,该脚本认包含在所有管理页面中.

首先,通过在后期编辑屏幕上运行的插件添加操作:

add_action('admin_print_scripts', 'my_validation_script');
function my_validation_script() {
    global $post_type;
    if(isset($post_type) && $post_type == 'kNowledgebase_article') {
        wp_enqueue_script('my-validation-script', network_site_url() . '/wp-content/plugins/your-plugin-folder/my-validation-script.js', array('jquery', 'common'));
    }
}

接下来,编写小的javascript表单处理程序来实际处理表单提交:

jQuery(document).ready(function(){

    //'my_required_field' is the class name of the DIV or TD tag *containing* the required form field
    jQuery('.my_required_field').addClass('form-required'); 

    //'post' is the ID of the main form on the new post screen
    jQuery('#post').submit(function(){ 
            //the validateForm function lives in wp-admin/js/common.js
            if ( !validateForm( jQuery(this)) ) { 
                    alert('Please enter a value'); 
                    return false; //stop submitting the form
            } else {
                    //alert('all required fields have some input');
            }
    });

});

您可以通过访问标签编辑页面,然后创建一个没有名称的新标签来查看此验证器的行为.该字段的容器变为红色警告您问题.

我在我的测试中测试了这个并且它有效.希望它可以帮助你.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...