Отображение картинок в галерее

👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

Частенько в записях вставляю встроенную галерею WordPress. Часто делаю небольшие обзоры программ, естественно разбавляю их скриншотами. Так столкнулся с небольшой проблемой в оформлении.

Как я обычно делаю. В начале небольшое описание, затем большой скрин начального экрана программы, потом более подробное описание программы, и после галерея с другими экранами программы.

Вот пример:

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

Так вот. Можно ли как нить сделать так, что бы когда я вставлял галерею, там были не все файлы, которые я загрузил к посту? А то получается в галерее отображаются файлы, которые уже использовал в статье, не слишком красиво смотрится.

Вот пример на картинке: Частенько в записях вставляю встроенную галерею WordPress. Часто делаю небольшие обзоры программ, естественно разбавляю их скриншотами. Так столкнулся с небольшой проблемой в оформлении.

Как я обычно делаю. В начале небольшое описание, затем большой скрин начального экрана программы, потом более подробное описание программы, и после галерея с другими экранами программы.

Вот пример:

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

Так вот. Можно ли как нить сделать так, что бы когда я вставлял галерею, там были не все файлы, которые я загрузил к посту? А то получается в галерее отображаются файлы, которые уже использовал в статье, не слишком красиво смотрится.

Вот пример на картинке: https://i.imgur.com/fvDhe.jpg

Думаю понятно объяснил. Как сделать так, что бы в галерее отображались не все картинки подряд, которые загружены к посту, а нужные мне?

Создай свой первый сайт на WordPress

Sk8er
Оцените автора
Добавить комментарий

  1. В посте Основы работы с WordPress | Шорткод галереи показано, как исключить из стандартной галереи некоторые изображения. Например, галерея вставляется так:

    [gallery columns="5" link="file"]

    Чтобы исключить из нее ненужные вам изображения, вставляйте их ID с помощью параметра exclude:

    [gallery columns="5" link="file" exclude="25,36"]
    Ответить
  2. vovasik

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

    Ответить
    1. По-моему легче включить html-редактор, нежели чем городить кучу кодов, исключающих первое изображение. И как определить, какое изображние первое — по названию, по дате добавления, по расположению в посте, по ID? Первое — это чисто условный порядок.

      Ответить
  3. vovasik

    сортировать можно по мере загрузк, первая с меньшим id и будет исключена

    не в редакторе дело, а в удобстве сам я и в чистом коде блокнотом могу страницы создавать, но сайты я делаю не только для себя как научить исключать картинки например шефа или его секретаршу ?

    потом в functions добавлю

    remove_shortcode('gallery');

    переопределю вызов

    add_shortcode('gallery', 'new_gallery_shortcode');

    потом открою

     wp-includes/media.php

    и поищу там надеюсь найду и как всегда забуду отписаться о результате :-D

    Ответить
  4. vovasik

    кстати вот этот кусок кода если кто хочет помочь

    
    	extract(shortcode_atts(array(     ///понятно из названия  извлекаем параметры из шерткода
    		'order'      => 'ASC',
    		'orderby'    => 'menu_order ID',
    		'id'         => $post->ID,
    		'itemtag'    => 'dl',
    		'icontag'    => 'dt',
    		'captiontag' => 'dd',
    		'columns'    => 3,
    		'size'       => 'thumbnail',
    		'include'    => '',
    		'exclude'    => ''
    	), $attr));
    
    	$id = intval($id);
    	if ( 'RAND' == $order )
    		$orderby = 'none';
    
    	if ( !empty($include) ) {
    		$include = preg_replace( '/[^0-9,]+/', '', $include );
    		$_attachments = get_posts( array('include' => $include, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby) );
    
    		$attachments = array();
    		foreach ( $_attachments as $key => $val ) {
    			$attachments[$val->ID] = $_attachments[$key];
    		}
    
    # то самое исключение картинки
    	} elseif ( !empty($exclude) ) {
    		$exclude = preg_replace( '/[^0-9,]+/', '', $exclude );
    		$attachments = get_children( array('post_parent' => $id, 'exclude' => $exclude, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby) );
    	} else {
    		$attachments = get_children( array('post_parent' => $id, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby) );
    	}
    Ответить
  5. Mixik3

    Присоиденяюсь к вопросу, долго искал решение, но так и ненашол, если кто вкурсе как exclude для нужных изображений, с помощю плагина или функции поделитесь пожалуста)

    Ответить
  6. vovasik

    хз я так и не довел дело до конца как обычно, тема открыта

    Ответить