איך לחייב שימוש בתמונה ראשית בפוסטים לפני פרסום

0
159

שלום כולם,

הנה סניפט שימושי שמצאתי שמתאים לאתרי כתבות או מאמרים, הסניפט הזה מחייב שימוש בתמונה ראשית (Featured Image) לפני פרסום פוסט.
פשוט מאד, הדביקו את הקוד הבא בקובץ ה- Functions.php:

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

function wpds_check_thumbnail($post_id) {

    // change to any custom post type 
    if(get_post_type($post_id) != 'post')
        return;
    
    if ( !has_post_thumbnail( $post_id ) ) {
        // set a transient to show the users an admin message
        set_transient( "has_post_thumbnail", "no" );
        // unhook this function so it doesn't loop infinitely
        remove_action('save_post', 'wpds_check_thumbnail');
        // update the post set it to draft
        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()
{
    // check if the transient is set, and display the error message
    if ( get_transient( "has_post_thumbnail" ) == "no" ) {
        echo "<div id='message' class='error'><p><strong>לא לשכוח לבחור תמונה ראשית, הפוסט נשמר כטיוטה...</strong></p></div>";
        delete_transient( "has_post_thumbnail" );
    }

}

ומעתה כל פעם שתלחצו על “לפרסם” ולא תבחרו תמונה ראשית, וורדפרס ישמור את הפוסט כטיוטה ולא יפרסם אותו, וכמובן יציג את ההודעה הבאה “לא לשכוח לבחור תמונה ראשית, הפוסט נשמר כטיוטה…”
כמובן שאתם יכולים לשנות אותה בהתאם למה שתרצו.

יום נפלא,
גיא

תגובות

הגיבו

אין תגובות

השאירו תגובה

16 + eighteen =