Частенько в записях вставляю встроенную галерею WordPress. Часто делаю небольшие обзоры программ, естественно разбавляю их скриншотами. Так столкнулся с небольшой проблемой в оформлении.
Как я обычно делаю. В начале небольшое описание, затем большой скрин начального экрана программы, потом более подробное описание программы, и после галерея с другими экранами программы.
Вот пример:
В примере сверху хорошо видно, что большая картинка это изображение с описанием темы.
Так вот. Можно ли как нить сделать так, что бы когда я вставлял галерею, там были не все файлы, которые я загрузил к посту? А то получается в галерее отображаются файлы, которые уже использовал в статье, не слишком красиво смотрится.
Вот пример на картинке: Частенько в записях вставляю встроенную галерею WordPress. Часто делаю небольшие обзоры программ, естественно разбавляю их скриншотами. Так столкнулся с небольшой проблемой в оформлении.
Как я обычно делаю. В начале небольшое описание, затем большой скрин начального экрана программы, потом более подробное описание программы, и после галерея с другими экранами программы.
Вот пример:
В примере сверху хорошо видно, что большая картинка это изображение с описанием темы.
Так вот. Можно ли как нить сделать так, что бы когда я вставлял галерею, там были не все файлы, которые я загрузил к посту? А то получается в галерее отображаются файлы, которые уже использовал в статье, не слишком красиво смотрится.
Вот пример на картинке: https://i.imgur.com/fvDhe.jpg
Думаю понятно объяснил. Как сделать так, что бы в галерее отображались не все картинки подряд, которые загружены к посту, а нужные мне?


В посте Основы работы с WordPress | Шорткод галереи показано, как исключить из стандартной галереи некоторые изображения. Например, галерея вставляется так:
Чтобы исключить из нее ненужные вам изображения, вставляйте их ID с помощью параметра exclude:
это конечно хороший способ, но придется лезть в Html редактор,а как быть если он отключен например ? нет ли какого другого способа?
например первое изображение исключать из галереи по дефолту
По-моему легче включить html-редактор, нежели чем городить кучу кодов, исключающих первое изображение. И как определить, какое изображние первое – по названию, по дате добавления, по расположению в посте, по ID? Первое – это чисто условный порядок.
сортировать можно по мере загрузк, первая с меньшим id и будет исключена
не в редакторе дело, а в удобстве сам я и в чистом коде блокнотом могу страницы создавать, но сайты я делаю не только для себя как научить исключать картинки например шефа или его секретаршу ?
потом в functions добавлю
remove_shortcode('gallery');переопределю вызов
add_shortcode('gallery', 'new_gallery_shortcode');потом открою
и поищу там надеюсь найду и как всегда забуду отписаться о результате :-D
кстати вот этот кусок кода если кто хочет помочь
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) ); }Присоиденяюсь к вопросу, долго искал решение, но так и ненашол, если кто вкурсе как exclude для нужных изображений, с помощю плагина или функции поделитесь пожалуста)
хз я так и не довел дело до конца как обычно, тема открыта