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

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

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

Вот пример: http://ubuntovod.ru/interface/boomerang.html

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

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

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

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

Вот пример: http://ubuntovod.ru/interface/boomerang.html

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

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

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

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

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

  1. В посте Основы работы с WordPress | Шорткод галереи показано, как исключить из стандартной галереи некоторые изображения. Например, галерея вставляется так:
    [cc lang=”css”][gallery columns="5" link="file"]
    Чтобы исключить из нее ненужные вам изображения, вставляйте их ID с помощью параметра exclude:
    [cc lang=”css”][gallery columns="5" link="file" exclude="25,36"]

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

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

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

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

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

    remove_shortcode('gallery');

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

    add_shortcode('gallery', 'new_gallery_shortcode');

    потом открою

     wp-includes/media.php

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

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

    
    	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. Присоиденяюсь к вопросу, долго искал решение, но так и ненашол, если кто вкурсе как exclude для нужных изображений, с помощю плагина или функции поделитесь пожалуста)

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*