Intereting Posts
Копирование таблиц базы данных в новую базу данных Импорт WordPress не извлекает изображения, а просто связывает их Интеграция API с WordPress Выбор URL по умолчанию для категории Объединение и минимизация зависимостей для файлов JavaScript, находящихся в очереди Остановить загрузку дополнительных сообщений, если не осталось AJAX Как применить функцию, если conditon a & b Пункт главного меню для нескольких плагинов? Макет страницы не работает при просмотре результатов поиска. Как добавить пользовательские атрибуты в теги javascript в WordPress? Почему тема вставляет раздел комментариев, если я не сбрасываю свой пользовательский WP_Query? Сценарий Timthumb скомпрометирован – Какие меры предосторожности? Виджет WPMU использует sitewide Почему мои css и js не помещаются в очередь до нижнего колонтитула? Как создать эскизы с фиксированной шириной, поэтому все они будут иметь одинаковую ширину?

Несколько эскизов и одна галерея

Я ищу решение для галереи на странице WP, которая показывает несколько эскизов изображений в этой галерее, но не все миниатюры в галерее (например, галереи по умолчанию в WP работают). Я хочу (т. Е.) Показать 3 эскиза на странице, которые (каждая из них) ведет к той же галерее с более чем тремя изображениями (т.е. 7 изображений). Кроме того (это было бы убер-фантастично), если бы он бросил в описании, сколько изображений есть в галерее (некоторые функции WP, вы знаете?).

Он должен работать как из короткого кода с изображениями с таким (сфабрикованным) свойством: "show-thumbnails"

 

Возможно ли это в WordPress? Возможно, вы знаете какой-то плагин с такими параметрами? Или знаете, как передать некоторые дополнительные параметры WP? Благодаря!

Solutions Collecting From Web of "Несколько эскизов и одна галерея"

Это возможно, но для этого необходимы некоторые развивающиеся усилия. Прежде всего, важно знать, что по умолчанию «галереи» WordPress «не являются дискретными ресурсами, с которыми вы можете обращаться с отдельным URL-адресом. Это всего лишь короткие коды, определенные в одном контексте сообщений.

Итак, что вам нужно сделать, это определить URL-адрес миниатюры, на который, из-за причины, отходит от миниатюр сообщений. Один (не единственный) способ состоит в том, чтобы добавить конечную точку перезаписи в вашу постоянную ссылку. Предполагая, что ваша постоянная ссылка будет your-domain.tld/2014/a-wordpress-post/ URL, миниатюры могут выглядеть как your-domain.tld/2014/a-wordpress-post/thumb/123/ . Номер на последней части представляет идентификатор каждого миниатюры. Конечные точки обычно добавляются в init :

 add_action( 'init', 'wpse_131753_add_thumb_endpoint' ); function wpse_131753_add_thumb_endpoint() { add_rewrite_endpoint( 'thumb', EP_PERMALINK | EP_PAGES ); } 

Теперь вам нужно изменить способ, WordPress отображает короткий код галереи. Для фильтра называется post_gallery . Он обходит вывод функции по умолчанию, называемой gallery_shortcode() которая определена в wp-includes/media.php .

Давайте рассмотрим для этого код:

 add_filter( 'post_gallery', 'wpse_131753_gallery_view', 10, 2 ); function wpse_131753_gallery_view( $output, $shortcode_attributes ) { $default_attributes = array( 'show-thumbnails' => '', 'order' => 'ASC', 'orderby' => 'menu_order ID', 'id' => $post ? $post->ID : 0, 'itemtag' => 'dl', 'icontag' => 'dt', 'captiontag' => 'dd', 'columns' => 3, 'size' => 'thumbnail', 'include' => '', 'exclude' => '', 'link' => '' ); $atts = shortcode_atts( $default_attributes, $shortcode_attributes, 'gallery' ); $current_thumb_ID = get_query_var( 'thumb' ); // build your gallery markup here using // $atts[ 'show-thumbnails' ] and // $current_thumb_ID // to defer between varous outputs if ( $current_thumb_ID ) { // here you may want to show the compltete gallery } else { // and here you may want to show the thumbs in // $atts[ 'show-thumbnails' ] // to link to the detailed view use this: $permalink = untrailingslashit( get_permalink( get_the_ID() ) ); $thumb_link = $permalink . '/thumb/' . $thumb_ID; // where $thumb_ID is one of the IDs in your atts. } return $output; } 

Функция может искать атрибуты shortcode, используемые по умолчанию, и строить html на вашем убеждении, следует ли показывать только три эскиза, когда конечная точка не указана или не была нажата конкретная эскиз (конечная точка содержит идентификатор щелкнутого миниатюры). Значение enpoint сохраняется в переменной запроса: get_query_var( 'thumb' ) .

Вы можете добавить этот код на страницу WP. Для любого короткого кода плагина для добавления на страницу WP:

 <?php do_shortcode('[plugin shortcode]'); ?> 

как:

 <?php echo do_shortcode('[gallery ids="152,153,103,104,102,64,60" show-thumbnails="152,153,103"]'); ?>