Как разрешить WordPress автоматически добавлять избранное изображение?

#php #wordpress

#php #wordpress

Вопрос:

Я пытаюсь разрешить WordPress автоматически добавлять избранное изображение в новые сообщения.

Условия:

  • Идентификатор категории публикации должен быть 3
  • У каждого автора / пользователя есть свое собственное изображение.
  • Изображения (уже загруженные) имеют следующий формат имени: [имя автора] — [фамилия автора].jpg.

Например; когда Стив Джобс отправляет сообщение, идентификатор категории отправленного сообщения должен быть 3, а избранное изображение, установленное для этого сообщения, должно быть ‘steve-jobs.jpg «.

ОКОНЧАТЕЛЬНЫЙ РАБОЧИЙ КОД:

 function set_featured_image_blog_post() {
    global $post;
    $already_has_thumb = has_post_thumbnail( $post->ID );
    $post_category = get_the_category( $post->ID );
    if ( !$already_has_thumb amp;amp; $post_category[0]->cat_ID  == 3 )  {
        if( $post->post_author == 3 ){
            set_post_thumbnail( $post->ID, 165 );
        }
        else if( $post->post_author == 4 ){
            set_post_thumbnail( $post->ID, 166 );
        }       
    }
}

add_action('the_post', 'set_featured_image_blog_post');
add_action('save_post', 'set_featured_image_blog_post');
add_action('draft_to_publish', 'set_featured_image_blog_post');
add_action('new_to_publish', 'set_featured_image_blog_post');
add_action('pending_to_publish', 'set_featured_image_blog_post');
add_action('future_to_publish', 'set_featured_image_blog_post');
  

Комментарии:

1. codex.wordpress.org/Function_Reference/set_post_thumbnail

2. Как я узнаю thumbnail_id?

Ответ №1:

окончательный код:

 function set_featured_image_blog_post() {
    global $post;
    $already_has_thumb = has_post_thumbnail( $post->ID );
    $post_category = get_the_category( $post->ID );
    if ( !$already_has_thumb amp;amp; $post_category[0]->cat_ID  == 3 )  {
        if( $post->post_author == 3 ){
            set_post_thumbnail( $post->ID, 165 );
        }
        else if( $post->post_author == 4 ){
            set_post_thumbnail( $post->ID, 166 );
        }       
    }
}

add_action('the_post', 'set_featured_image_blog_post');
add_action('save_post', 'set_featured_image_blog_post');
add_action('draft_to_publish', 'set_featured_image_blog_post');
add_action('new_to_publish', 'set_featured_image_blog_post');
add_action('pending_to_publish', 'set_featured_image_blog_post');
add_action('future_to_publish', 'set_featured_image_blog_post');