让用户发表文章前必须设置一张特色图片

图文并茂是网站可读性的一个重要原则,对于多用户网站,一些编辑为了偷懒,或者仅仅是忘记了,经常会出现文章没有添加…

图文并茂是网站可读性的一个重要原则,对于多用户网站,一些编辑为了偷懒,或者仅仅是忘记了,经常会出现文章没有添加特色图像的现象,这会在一定程度上影响网站的用户体验。如果可以在发表文章之前判断一下用户是否设置了特色图片,如果没有设置,文章就发表不了。这样就能很轻松的避免这个问题了。在WordPress中,我们可以很方便的实现这个功能。

add_action('save_post', 'wpds_check_thumbnail');
add_action('admin_notices', 'wpds_thumbnail_error');

function wpds_check_thumbnail($post_id) {

    // 判断是否为文章
    if(get_post_type($post_id) != 'post')
        return;
    
    if ( !has_post_thumbnail( $post_id ) ) {
        // 设置用户是否设置了图片的临时记录
        set_transient( "has_post_thumbnail", "no" );
        // 避免循环运行
        remove_action('save_post', 'wpds_check_thumbnail');
        // 保存文章并设置为草稿
        wp_update_post(array('ID' => $post_id, 'post_status' => 'draft'));

        add_action('save_post', 'wpds_check_thumbnail');
    } else {
        delete_transient( "has_post_thumbnail" );
    }
}

function wpds_thumbnail_error()
{
    // 检查是否设置了特色图像,如果没有设置,显示提示信息
    if ( get_transient( "has_post_thumbnail" ) == "no" ) {
        echo "<div id='message' class='error'><p><strong>抱歉!发表文章之前,必须先设置一个特色图像!</strong></p></div>";
        delete_transient( "has_post_thumbnail" );
    }

}

把以上代码粘贴到主题的functions.php文件中就可以了,下次编辑再没有设置特色图像的时候,文章就发布不了了,同时还会看到一个提示信息,知道自己又忘记添加特色图像了,时间一长,自然而然的就养成了发表文章之前添加特色图像的好习惯。

类别:WordPress技巧

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT

登录 账号发表你的看法,还没有账号?立即免费 注册