Allow only new sub-pages to be created

you actually don’t need any ajax or server side action, simple see if the user has selected a parent page:

add_action( 'admin_head-post-new.php', 'publish_admin_hook_wpse_78690' );
add_action( 'admin_head-post.php', 'publish_admin_hook_wpse_78690' );

function publish_admin_hook_wpse_78690()
{
    global $current_screen;
    if( 'page' != $current_screen->post_type )
        return;

    ?>
    <script language="javascript" type="text/javascript">
        jQuery(document).ready(function() {
            jQuery('#publish').click(function() 
            {
                var parent_id = jQuery('#parent_id').val();
                if (parseInt(parent_id) > 0){
                    jQuery('#ajax-loading').hide();
                    jQuery('#publish').removeClass('button-primary-disabled');
                    return true;
                }else{
                    alert("please selet your parent page");
                    jQuery('#ajax-loading').hide();
                    jQuery('#publish').removeClass('button-primary-disabled');
                    return false;
                }
                return false;
            });
        });
    </script>
    <?php
}

Leave a Comment