• Как сделать так, что бы при добавлении в админ панели медиафайла (картинку), миниатюра записи задавалась автоматически?
    В поздних версиях wordpress так было, с новой версией этого нету.
    Спасибо!

Просмотр 3 ответов — с 16 по 18 (всего 18)
  • Flector, как я понимаю большое количество плагинов замедляют работу сайта.

    заблуждение.
    иногда один плагин или тема тормозят сайт как сотни плагинов.
    все зависит от оптимизации кода плагина или темы.

    а надо другую задачу ставить — выводить предупреждение автору при публикации записи о том, что он забыл указать миниатюру. так логичнее будет.

    +1!

    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" );
        }
    }
    function zadat_tekst_miniatiru($razmetka) {
        $razmetka = str_replace( __('Set featured image'), 'Прикрепить картинку-миниатюру, которая будет логотипом этой записи', $razmetka);
        return $razmetka;
    }
    
    add_filter('admin_post_thumbnail_html', 'zadat_tekst_miniatiru');

    Такой код, добавленный в functions.php не позволит опубликовать запись, пока не будет добавлена миниатюра и выведет об этом соответсвующее предупреждение-напоминание

    Лично я эту идею оформил плагином Check_thumbnail

    Konstantin, попробую вставить.
    Спасибо огромное!

Просмотр 3 ответов — с 16 по 18 (всего 18)
  • Тема «Миниатюры» закрыта для новых ответов.