На этом уроке мы расскажем вам, как создать функцию для автоматической установки популярных изображений в ваших постах.

Ниже функция будет получать первое изображение содержимого поста и автоматически устанавливаются как популярное изображение для ваших постов. Откройте файл functions.php, скопируйте и вставьте фрагмент текста ниже в в конце файла functions.php.

Создание функции для автоматической установки популярных изображений

Функция autoset_featured() устанавливает популярные изображения автоматически для вашего поста, но если добавить вручную, то это изображение будет отображаться вместо него.

function autoset_andreyex_featured() {
    global $post;
    $already_has_thumb = has_post_thumbnail($post->ID);
        
        if (!$already_has_thumb)  {        
        $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&
        post_mime_type=image&numberposts=1" );
            if ($attached_image) {
                foreach ($attached_image as $attachment_id => $attachment) {
                    set_post_thumbnail($post->ID, $attachment_id);
                }
            }
        }
 
}
 
add_action('the_post', 'autoset_andreyex_featured');
 
add_action('save_post', 'autoset_andreyex_featured');
 
add_action('draft_to_publish', 'autoset_andreyex_featured');
 
add_action('new_to_publish', 'autoset_andreyex_featured');
 
add_action('pending_to_publish', 'autoset_andreyex_featured');
 
add_action('future_to_publish', 'autoset_andreyex_featured');

 

Источник: AndreyEx.ru