圖文并茂是網(wǎng)站可讀性的一個(gè)重要原則,對(duì)于多用戶網(wǎng)站,一些編輯為了偷懶,或者僅僅是忘記了,經(jīng)常會(huì)出現(xiàn)文章沒有添加特色圖像的現(xiàn)象,這會(huì)在一定程度上影響網(wǎng)站的用戶體驗(yàn)。如果可以在發(fā)表文章之前判斷一下用戶是否設(shè)置了特色圖片,如果沒有設(shè)置,文章就發(fā)表不了。這樣就能很輕松的避免這個(gè)問題了。在WordPress中,我們可以很方便的實(shí)現(xiàn)這個(gè)功能。
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 ) ) {
// 設(shè)置用戶是否設(shè)置了圖片的臨時(shí)記錄
set_transient( "has_post_thumbnail", "no" );
// 避免循環(huán)運(yùn)行
remove_action('save_post', 'wpds_check_thumbnail');
// 保存文章并設(shè)置為草稿
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()
{
// 檢查是否設(shè)置了特色圖像,如果沒有設(shè)置,顯示提示信息
if ( get_transient( "has_post_thumbnail" ) == "no" ) {
echo "<div id='message' class='error'><p><strong>抱歉!發(fā)表文章之前,必須先設(shè)置一個(gè)特色圖像!</strong></p></div>";
delete_transient( "has_post_thumbnail" );
}
}
把以上代碼粘貼到主題的functions.php文件中就可以了,下次編輯再?zèng)]有設(shè)置特色圖像的時(shí)候,文章就發(fā)布不了了,同時(shí)還會(huì)看到一個(gè)提示信息,知道自己又忘記添加特色圖像了,時(shí)間一長,自然而然的就養(yǎng)成了發(fā)表文章之前添加特色圖像的好習(xí)慣。


