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.

I am setting up a Wordpress site as a CMS and trying to figure out a way to make certain post fields "required" before an author can publish a post.

In particular, I want authors to be required to select a "category" and to set a "featured image". It's been suggested that something like this could be done using some Javascript, but to be honest, I'm not entirely sure where to start (and my Javascript skills aren't the best).

If anyone has an idea as to how this can be done, I can really use the help. Thanks!

share|improve this question
    
With categories, one might like to insist on 2 or any other number of categories, or one subcategory from any number of parent categories. –  Simon Gibbs Oct 14 '12 at 13:09

2 Answers 2

Fairly simple using jQuery and global $typenow ex:

add_action('admin_print_scripts-post.php', 'my_publish_admin_hook');
add_action('admin_print_scripts-post-new.php', 'my_publish_admin_hook');
function my_publish_admin_hook(){
    global $typenow;
    if (in_array($typenow, array('post','page','mm_photo '))){
        ?>
        <script language="javascript" type="text/javascript">
            jQuery(document).ready(function() {
                jQuery('#post').submit(function() {
                    if (jQuery("#set-post-thumbnail").find('img').size() > 0) {
                        jQuery('#ajax-loading').hide();
                        jQuery('#publish').removeClass('button-primary-disabled');
                        return true;
                    }else{
                        alert("please set a featured image!!!");
                        jQuery('#ajax-loading').hide();
                        jQuery('#publish').removeClass('button-primary-disabled');
                        return false;
                    }
                    return false;
                });
            });
        </script>

        <?php
    }
}
share|improve this answer

I've been looking for a suitable solution for this as well. I came across this plugin which will make certain fields mandatory before a post can be published.

http://wordpress.org/extend/plugins/mandatory-fields/

The plugin author has said that: "In the next version of this plugin we plan to mandate 'Featured Image' field before posting."

It has not been updated since July 2011, but there might still be some hope for it :)

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.