Отображать пользовательскую галерею в каждом сообщении WordPress

На моем веб-сайте есть слайдер миниатюр сообщений. Ползунок слайдов сообщений отобразит изображения, связанные с сообщением в блоге. Я хочу, чтобы когда мы пишем какую-либо запись, это позволит мне загружать несколько изображений через медиа-загрузчик в каждом посте, используя параметр «Создать галерею» и отображать его. Как я могу достичь этой задачи? Помощь Plz

Это мой index.php, где отображаются мои сообщения в блоге

<div class="featured-works" id="start"> <div class="container-3x"> <div class="block-header"> <h2 class="title">Featured Works</h2> <span class="sub-title"><p class="slant"></p>Don't just take our word for it that we can create great looking and user friendly websites. Take a look at this months featured websites & see for yourself.</span> </div> <div class="block-content"> <div class="feat-post"> <div class="thumb"> <ul class="slider owl-carousel" id="thumb-slider"> <li class="slide-container"> <div class="image flt-left"> <a href="#"><img src="<?php print IMAGES; ?>/featured-works/1.png"/></a> </div> </li> <li class="slide-container"> <div class="image flt-left"> <a href="#"><img src="<?php print IMAGES; ?>/featured-works/1.png"/></a> </div> </li> <li class="slide-container"> <div class="image flt-left"> <a href="#"><img src="<?php print IMAGES; ?>/featured-works/1.png"/></a> </div> </li> </ul> </div> <div class="content"> <?php $sticky = get_option('sticky_posts'); // check if there are any if (!empty($sticky)) { // optional: sort the newest IDs first rsort($sticky); $sticky = array_slice( $sticky, 0, 1); //1 is the no of sticky post to display // override the query $args = array( 'post__in' => $sticky, 'caller_get_posts' => 1 ); query_posts($args); // the loop while (have_posts()) { the_post(); // your code $link = get_permalink(); echo "<h2 class='title'><a href=$link>"; the_title(); echo "</a></h2>"; echo "<span class='sub-title'>Template of the week</span>"; echo "<p class='summary'>"; $excerpt = get_the_excerpt(); echo string_limit_words($excerpt,25); echo "</p>"; echo "<p class='cat'>Category : "; the_tags(', '); echo "</p>"; echo "<p class='cat'>Release Date : "; the_time(get_option('date_format')); echo "</p>"; echo "<p class='cat'>Avilable In : "; the_category(', '); echo "</p>"; echo "<div class='demo'>"; $nss_meta = get_post_meta( get_the_ID(),''); $x= $nss_meta[_my_meta_value_key][0]; echo "<a href=$x>Live Preview</a>"; echo "<a href=$link>Documentation</a>"; echo "</div>"; } } ?> </div> </div> </div> </div> </div> 

Проверьте эту строку кода, отображающую мою галерею в index.php

  <ul class="slider owl-carousel" id="thumb-slider"> <li class="slide-container"> <div class="image flt-left"> <a href="#"><img src="<?php print IMAGES; ?>/featured-works/1.png"/></a> </div> </li> <li class="slide-container"> <div class="image flt-left"> <a href="#"><img src="<?php print IMAGES; ?>/featured-works/1.png"/></a> </div> </li> <li class="slide-container"> <div class="image flt-left"> <a href="#"><img src="<?php print IMAGES; ?>/featured-works/1.png"/></a> </div> </li> </ul> 

Я хочу отобразить слайдер сообщения между верхней строкой кода, т.е.

 <ul class="slider owl-carousel" id="thumb-slider"> <li class="slide-container"> <div class="image flt-left"> #your slider code or gallery goes here </div> </li> 

Я использую этот код для отображения галереи изображений в качестве слайдера, а также работает правильно, но дело в том, что он использует ширину и высоту 150×150 px (т.е. размеры по умолчанию) вместо исходных измерений.

 <?php if (get_post_gallery()) { $gallery = get_post_gallery( get_the_ID(), false ); /* Loop through all the image and output them one by one */ foreach( $gallery['src'] as $src ) { echo "<li class='slide-container'>"; echo "<div class='image flt-left'>"; echo "<a href=$src>"; echo "<img src=$src>"; echo "</a>"; echo "</div>"; echo "</li>"; } } ?> 

Вы также можете просмотреть эту ссылку, чтобы просмотреть мой файл single.php

Solutions Collecting From Web of "Отображать пользовательскую галерею в каждом сообщении WordPress"

get_post_gallery() возвращает массив с идентификаторами изображений галереи и URL-адресами миниатюры (по умолчанию 150×150). Иды возвращаются в строке с разделенным запятыми списком идентификаторов. Если вы хотите получить другой размер изображения, вам нужно будет получить его в цикле foreach, используя идентификатор изображения и правильную функцию WordPress, например wp_get_attachment_image_src .

В wp_get_attachment_image_src вы можете указать, какой размер изображения вы хотите получить. Это может быть любой размер основного изображения (миниатюра, средний, большой или полный) или любой другой пользовательский размер изображения, ранее зарегистрированный. Он может быть также массивом, представляющим ширину и высоту, например array(150,150) (он должен соответствовать размерам зарегистрированного размера изображения).

Например, чтобы получить полный размер изображения:

 $gallery = get_post_gallery( get_the_ID(), false ); $ids = explode( ",", $gallery['ids'] ); foreach( $ids as $id ) { //Change "full" with the image size identifier you want to get $src = wp_get_attachment_image_src( $id, "full" ); echo '<li class="slide-container">'; echo '<div class="image flt-left">'; echo '<a href=$src>'; echo '<img src="'.$src[0].'" width="'.$src[1].'" height="'.$src[2].'">'; echo '</a>'; echo '</div>'; echo '</li>'; }