Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

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.

share|improve this question

2 Answers 2

up vote 2 down vote accepted

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).

share|improve this answer
    
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
    
@Jan Ah, thank you. –  ariefbayu Nov 11 '10 at 13:51

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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