WordPress要求保存帖子内容

时间:2017-11-01 09:59:29

标签: wordpress

我想知道是否可能需要WordPress帖子中的内容。我不希望用户能够在没有内容的情况下保存帖子。你知道我该怎么办?

谢谢!

2 个答案:

答案 0 :(得分:0)

首先将自定义脚本添加到管理操作

add_action( 'admin_enqueue_scripts', array($this, 'my_admin_scripts') );

function my_admin_scripts($page) {
    global $post;

    if ($page == "post-new.php" OR $page == "post.php") {
        wp_register_script( 'my-custom-admin-scripts', plugins_url('/js/my-admin-post.js',dirname(__FILE__)), array('jquery', 'jquery-ui-sortable' ) , null, true );
        wp_enqueue_script( 'my-custom-admin-scripts' );             
    }           
}

将JQuery所需的属性放在下一个js代码中(/js/my-admin-post.js):

// JavaScript Document
jQuery(document).ready(function($) {
    $('#title').attr('required', true);
    $('#content').attr('required', true);
    $('#_my_custom_field').attr('required', true); 
});

答案 1 :(得分:0)

您无法阻止使用PHP保存帖子,但是如果没有内容,您可以强制帖子进入草稿状态:

function bb_47052258_check_post_status( $post_id ){

    // Return if this is a revision post
    if ( wp_is_post_revision( $post_id ) ){
        return;
    }

    // Get the post
    $post = get_post( $post_id );

    // (Optional) Return if the post is not a "post" post-type
    if( $post->post_type != 'post'){
        return;
    }

    // Return if the post content is not an empty string
    if( $post->post_content !== '' ){
        return;
    }        

    // Remove this action to prevent an infinite loop
    remove_action('save_post', 'bb_47052258_check_post_status');

    // Update the post status
    wp_update_post( array(
        'ID'          => $post->ID,
        'post_status' => 'draft'
    ) );

    // Add this action back again
    add_action('save_post', 'bb_47052258_check_post_status');
}

// Initially add the action
add_action('save_post', 'bb_47052258_check_post_status');