¿Cómo puedo agregar un evento jQuery OnClick al botón Publicar publicaciones?

4

Quiero agregar un evento de confirmación simple al botón Publicar publicaciones, por lo que cuando mi cliente haga clic en "Publicar", le preguntará si está seguro, a lo que hace clic en "Sí" o "cancelar" y la publicación publicará o no.

Soy nuevo en WordPress ... o al menos solo he terminado la programación de temas y complementos limitados. Encontré el código metabox para el botón "Publicar" en edit-form-advanced.php :

add_meta_box('submitdiv', __('Publish'), 'post_submit_meta_box', null, 'side', 'core');

Pero para lograr esto, sospecho que tendré que agregar el código jQuery en otro lugar, preferiblemente en mi tema.

Por razones específicas del sitio, no puedo agregar nuevos complementos a esta instalación, por lo que cualquier cambio debe limitarse al archivo functions.php de mi tema.

    
pregunta Lynn 11.01.2013 - 19:45

2 respuestas

3

Puede engancharse en las acciones del pie de página (en función de esta respuesta , no probada):

add_action( 'admin_footer-post-new.php', 'wpse_80215_script' );
add_action( 'admin_footer-post.php', 'wpse_80215_script' );

function wpse_80215_script()
{
    if ( 'post' !== $GLOBALS['post_type'] )
        return;

    ?>
<script>
document.getElementById("publish").onclick = function() {
    if ( confirm( "Ready?" ) )
        return true;

        return false;

}</script>
    <?php
}

Estas acciones se llaman en wp-admin/admin-footer.php :

do_action( "admin_footer-" . $GLOBALS['hook_suffix'] );

Este código se puede usar en un complemento (preferido) o en el tema functions.php .
Véase también:

respondido por el fuxia 11.01.2013 - 19:57
0

Hay un complemento de WordPress para eso:

  

Confirmar acciones de publicación es un complemento de WordPress que solicita a un usuario para hacer clic en un botón de confirmación (o cancelación) cuando esté intentando enviar, publicar, actualizar o eliminar una publicación de WordPress.

    
respondido por el diggy 11.01.2013 - 19:49

Lea otras preguntas en las etiquetas