3

Does anyone have a suggested plugin that does the following:

when a user hits publish on a post for the first time, it should have a popup, notice, or alert that asks the following:

  • Do you have a title?
  • Is the article complete?
  • Spell checked?
  • Did you pick tags?
  • Have you selected a category?
  • Choose a featured image?

Any type of that functionality to catch uncompleted fields or merely serve as a warning would be quite awesome.

2

Create new plugin and add this as your the content:

<?php
/*
Plugin Name: [CR]TestDropIn
Plugin URI: http://bayu.freelancer.web.id/
Description: A barebone plugin to test whatever wordpress API you want to test
Author: Arief Bayu Purwanto
Version: 0.0.1
Author URI: http://bayu.freelancer.web.id
*/



add_action('admin_head', 'xxx_admin_hook');

function xxx_admin_hook(){
?>
<script language="javascript" type="text/javascript">
jQuery(document).ready(function() {
    jQuery('#post').submit(function() {
        //alert('Handler for .submit() called.');
        //return false;
        var cfm = confirm("Do you have a title?\n" + 
"Is the article complete?\n" + 
"Spell checked?\n" + 
"Did you pick tags?\n" + 
"Have you selected a category?\n" + 
"Choose a featured image?", "Check your content");
        if(cfm)
        {
            return true;
        }
    jQuery('#ajax-loading').hide();
    jQuery('#publish').removeClass('button-primary-disabled');

        return false;
    });
});
</script>
<?php
}

Note:

  • It has bug as it doesn't cancel the loading icon. Nothing big if you don't really care that, as it doesn't interfere the process nor does it break the wordpress. It just doesn't that good to see.bug fixed!

  • Plugin published here (while waiting approval for plugin repository).

  • silent, THANK YOU SO MUCH! Was thinking way too hard, this solution is so simple and makes sense! – Sahas Katta Nov 10 '10 at 19:57
  • Quick question, when does it add the button-primary-disabled? I don't see that class anywhere in the HTML or CSS? – Sahas Katta Nov 10 '10 at 20:08
  • 1
    I myself not really sure. I just see that it is added when publish button click tracked via firebug – ariefbayu Nov 10 '10 at 23:54
  • 2
    @Sahas: It's added via the autosave Javascript. – Jan Fabry Nov 11 '10 at 13:44
  • Thanks for making a plugin! Just noticed you added a new note! – Sahas Katta Nov 23 '10 at 0:43
0

if you want to store information about the popup event... :

function while_popup() {
  // code here
}

function filter_post( $data , $postarr )
{
while_popup();
return ( $data )
}

add_filter ( 'wp_insert_post_data' , 'filter_post' , 99 );  

in the $postarr you can query the 'post_status' to see what the status is (publish)

Since this: http://core.trac.wordpress.org/ticket/9084 is now fixed you can query the set the post_status data array to "draft" if the user presses "i do not agree" and to publish if he agrees.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.