Wordpress плагин для создания превью картинок из статьи

Тема в разделе "Импорт CSV", создана пользователем kagorec, 14 май 2017.

Метки:
  1. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.169
    Адрес:
    @kagorec
    Город:
    Riga
    В Wordpress автоматического создания превью картинок нет, известные плагины с задачей не справляются полностью (которые в библиотеке бесплатных плагинов).

    Нам надо чтобы спарсив сайт, потом импортнув (через доступные плагины или через php скрипт, неважно) огромное количество статей в свой Wordpress, чтобы у каждой записи была картинка превью (thumbnail).

    [​IMG]

    Решение довольно простое:
    используйте плагин Ссылки недоступны для гостей
    Цитата из описания плагина
    п.с. вопросы по установке если возникают, пишите тут, попробуем решить.
     
  2. sarmak

    sarmak New Member Пользователи

    Регистрация:
    24 июл 2014
    Сообщения:
    2
    спасибо, получилось. взял для теста несложную тему . после импорта было так:
    [​IMG]

    установил плагин и в нужном месте код <?php echo kama_thumb_img('w=200 &h=150 &class=alignleft myimg'); ?> появились картинки размером 200*150. буду пробовать на более сложных темах

    [​IMG]
     
    kagorec нравится это.
  3. donseo

    donseo New Member Пользователи

    Регистрация:
    20 ноя 2017
    Сообщения:
    1
    Всё работает огонь!
     
    kagorec и Root нравится это.
  4. actoriy

    actoriy New Member Пользователи

    Регистрация:
    15 апр 2017
    Сообщения:
    22
    1. Функция установки первой картинки в качестве миниатюры
    //Вывод первой картинки с поста
    function first_post_image() {
    global $post, $posts;
    $first_img = '';
    ob_start();
    ob_end_clean();
    $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
    $first_img = $matches [1] [0];
    if(empty($first_img)){
    $first_img = "/wp-content/themes/НАЗВАНИЕТЕМЫ/images/noimages.jpg";
    // укажите путь к изображению, которое будет выводится по умолчанию.
    }
    return $first_img;
    }
    Скрипт вытягивает первое изображение из записи, но если его нет, то он ставит картинку по умолчанию. Чтобы вывести изображение по умолчанию вы должны создать его, назвав noimages.jpg и поместить в папку images. В 11 строке укажите путь к изображению.

    1. Подключаем функцию вывода первой картинки в теме
    Миниатюра подключается во всех файлах где в цикле выводятся записи - это index.php, content.php, archive.php, category.php, single.php и тд,
    Для подключения нужно вставить следующий код после определения цикла, который выглядит примерно так:

    <?php if(have_posts()) : ?> <?php while(have_posts()) : the_post(); ?>

    Сам код вывода нашей функции:
    <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>">
    <img src="<?php echo first_post_image() ?>" alt="<?php the_title(); ?>" />
    </a>
    так картинка будет кликабельна и по ссылке вы перейдете в саму запись.

    А вот в записи нужно вывести некликабельную картинку. Для этого нужно в single.php добавить код без ссылки


    <img src="<?php echo first_post_image() ?>" alt="<?php the_title(); ?>" />

    Теперь в Вашей теме не будет записей без миниатюр.

    Как я писал выше, добавлять теперь в записи миниатюры не надо (всеравно их не выводит), просто в начало поста или где нужно вставляйте картинку. Первая по счету, автоматом станет миниатюрой.

    Еще небольшое дополнение к статье.
    Если Вам надо, чтобы выводилась миниатюра, а если ее нет, первая картинка с записи, то нужно вместо сроки вывода, что Выше вставлять условие следующего вида:


    <?php if ( has_post_thumbnail() ) { the_post_thumbnail('thumbnail'); }
    else { ?>
    <img src="<?php echo first_post_image() ?>" alt="<?php the_title(); ?>" />
    <?php } ?>

    Конечно же добавляете свои классы стилей и оформителе их в CSS. Тогда ваши миниатюры будут выглядеть так, как Вам нужно.
     
    kagorec нравится это.

Поделиться этой страницей