Intereting Posts
Как передать NULL в том, где массив для $ wpdb-> update Как изменить цвет наведения на белый на мою тему? Отправка HTML-письма с вложением с помощью wp_mail () 1 Таксономия с множественной структурой URL-адреса CPT Почему он по умолчанию «не классифицирован» даже после того, как я выбираю пользовательскую таксономию Когда следует использовать esc_url, esc_html, esc_attr и друзей? Расширение WC_Cart в woocommerce Хорошие URL-адреса для списка настраиваемых типов сообщений с общей пользовательской таксономией? Подключаемый крючок при добавлении нового автора Как создать несколько виртуальных страниц? Я изменил пароль для пользователя базы данных моего сайта, обновил wp-config.php и WordPress просит переустановить Для чего используется константа WP_USE_THEMES? Apache HTTP Server перестает работать только для определенного локального веб-сайта Каким типом являются шаблоны WP media-modal? Я хочу выбрать из значений из базы данных в WordPress?

Как нарисовать информацию о СМИ для галереи изотопов, используя Photoswipe

В настоящее время я занимаюсь созданием галереи WordPress, которая напрямую связана с медиа-библиотекой и включает в себя Isotope и Photoswipe. Используя модифицированную версию этого , я успешно добавил вложения в шаблон страницы, а затем ограничил отображение в категории (с категориями для вложений в медиа).

Теперь моя проблема заключается в дальнейшем улучшении отображения …

Поскольку я использую wp_get_attachment_image в своей функции (так что я могу определить размер изображения), а не wp_get_attachment_url , я не могу заставить href работать. В дополнение к этому, мне нужно определить полный размер изображения в размере data-size href .

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

Вот код, который я использую:

 function get_images_from_media_library() { $args = array( 'post_type' => 'attachment', 'post_mime_type' =>'image', 'post_status' => 'inherit', 'posts_per_page' => 25, 'category_name' => 'artwork', ); $query_images = new WP_Query( $args ); $images = array(); foreach ( $query_images->posts as $image) { $images[]= wp_get_attachment_image( $image->ID, 'full' ); } return $images; } function display_images_from_media_library() { $imgs = get_images_from_media_library(); $url = wp_get_attachment_url( $image->ID ); $image_title = $attachment->post_title; $caption = $attachment->post_excerpt; $html = '<section class="isotope-wrap"> <div class="isotope gallery" data-pswp-uid="1"> <div class="isotope-sizer"></div>'; foreach($imgs as $img) { $html .= '<div class="isotope-item"><figure> <a href="' . $url . '" data-size="">' . $img . '</a> <figcaption class="wp-caption-text"><h2>' . $image_title . '</h2> <p>' . $caption . '</p></figcaption></figure></div>'; } $html .= '</div>'; return $html; } 

Наконец, я также пытаюсь создать группу фильтров для галереи Isotope, используя категории изображений в качестве ярлыков. Вот код, который у меня есть до сих пор, который, похоже, не работает, поскольку мои категории не учитывают изображения (все категории показывают количество 0):

 $terms = get_terms('category', array('parent' => 'artwork')); $count = count($terms); if ( $count > 0 ){ foreach ( $terms as $term ) { echo "<button type='button' class='btn btn-dark' data-hover='" . $term->name . "' data-filter='." . $term->slug . "'>" . $term->name . "</button>\n"; } } 

Любая помощь с этим будет очень признательна, спасибо.

EDIT Я добавил следующий код:

 function get_image_urls_from_media_library() { $args = array( 'post_type' => 'attachment', 'post_mime_type' =>'image', 'post_status' => 'inherit', 'category_name' => 'artwork', ); $query_images = new WP_Query( $args ); $urls = array(); foreach ( $query_images->posts as $image) { $urls[]= wp_get_attachment_url( $image->ID ); } return $urls; } 

и добавил вложенный foreach , который рисует действительный href . К сожалению, однако, это только рисование первой записи вложения, и все изображения в галерее связаны с тем же самым первым изображением. Изображения также дублируются 5 раз на странице.