图文并茂是网站可读性的一个重要原则,对于多用户网站,一些编辑为了偷懒,或者仅仅是忘记了,经常会出现文章没有添加特色图像的现象,这会在一定程度上影响网站的用户体验。如果可以在发表文章之前判断一下用户是否设置了特色图片,如果没有设置,文章就发表不了。这样就能很轻松的避免这个问题了。在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文件中就可以了,下次编辑再没有设置特色图像的时候,文章就发布不了了,同时还会看到一个提示信息,知道自己又忘记添加特色图像了,时间一长,自然而然的就养成了发表文章之前添加特色图像的好习惯。