¿Cómo agrego un cuadro de diálogo de confirmación al botón de publicación de WordPress? [closed]

2 minutos de lectura

avatar de usuario
evabailey

Estoy desarrollando un complemento de wordpress que crea un tipo de publicación personalizada “artículo de base de conocimientos” con algunos campos especiales. Me gustaría que el botón de publicación advierta al usuario si faltan campos antes de confirmar. ¿Cómo hago esto? ¿Hay un enlace apropiado para insertar este comportamiento?

  • Upvoted para fastidiar a los cerradores

    – rinogo

    2 jun 2017 a las 21:23

avatar de usuario
duro101

Puede usar el script básico de validación de formularios del lado del cliente en wp-admin/js/common.js que se incluye de forma predeterminada en todas las páginas de administración.

Primero, agregue una acción a través de su complemento que se ejecuta en la pantalla de edición posterior:

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'));
    }
}

A continuación, escriba el pequeño controlador de formulario javascript para manejar realmente el envío del formulario:

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');
            }
    });

});

Puede ver cómo se comporta este validador visitando la página de edición de etiquetas y luego creando una nueva etiqueta sin nombre. El contenedor del campo se vuelve rojo para alertarlo sobre el problema.

Probé esto en mi extremo y funciona. Espero que pueda ayudarte.

  • Gracias por el aporte, lo intentaré cuando llegue a la oficina el lunes. 🙂

    – evbailey

    17 de julio de 2011 a las 6:09

  • Esta solución fue perfecta. No sé por qué mi pregunta fue cerrada por ser ‘vaga’, entendiste exactamente lo que estaba preguntando.

    – evbailey

    18 de julio de 2011 a las 16:30

  • Me preguntaba lo mismo sobre la ‘vaguedad’. Gracias por el +1

    – resistente101

    18 de septiembre de 2011 a las 13:03

¿Ha sido útil esta solución?