Только покажите изображения/приложения в галерее?

When i create a page, add a gallery, and browse this gallery on the front-end it will browse all the attachments that are associated with that page, instead of just the images within that gallery. Is there a way to filter all the other attachments and only show the images within a certain gallery? So that, for instance, when I delete the gallery and add a new gallery on the same page > only the new gallery is shown?

Какие-либо идеи?

0
nl ja de
Привет RobbertT. Можете вы, пожалуйста, сообщать мне что you' ve попробовали и код you' использование ре. Спасибо
добавлено автор ggdx, источник

1 ответы

Это не могло бы быть самым изящным путем, но я счел его очень полезным.

Прохождение почтового ID к функции ниже загрузит галерею от post_content той почты. Таким образом, вы создали бы галерею и вставили бы ее в ваше почтовое содержание, затем в шаблоне, вы управляете этой функцией и будете возвращены со множеством приложений в той галерее, которая вы свободны ко что с, т.е. слайд-шоу и подобные.

function wp_load_gallery($post_id) {
  $post = get_post( $post_id );
  $regx = '/' . get_shortcode_regex() . '/';
  preg_match( $regx, $post->post_content, $matches );
  $ids = shortcode_parse_atts( $matches[3] );

  $gallery = array( );
  foreach( explode( ',', $ids['ids'] ) as $id ) {
    if($id) {
      $gallery[] = get_post( $id );
    }
  } 

  return $gallery;
}

Обратите внимание, что shortcode не сокращен из содержания, поэтому когда вы показываете содержание, необходимо управлять им через функцию strip_shortcodes, т.е.:

echo strip_shortcodes( get_the_content() );

Это позволяет вам обновлять галерею каждый раз, когда вы хотите, с чем вы хотите.

Править:

Просто показать все изображения:

$gallery = wp_load_gallery($YOUR_POST_ID);
foreach($gallery as $image) {
  echo wp_get_attachment_image($image->ID);
}
0
добавлено
Привет, большое спасибо. Я пытаюсь понять ваш код. Быть ясным; я должен создать почту, добавить медиа-галерею и поместить отправленный в $ids [' ids'] созданного почтового права? Как я должен повторить/показать полученные элементы? Поскольку код (если используемое право) ничего не показывает.
добавлено автор RobbertT, источник
Хорошо спасибо. Это на самом деле помогало мне далее!
добавлено автор RobbertT, источник
создайте почту, затем вставьте галерею в него, создав один в интерфейсе "Add media". Как только галерея добавляется, необходимо получить большую коробку в содержании и если вы нависаете над ним, вы видите удаление и редактируете кнопки. функция ничего не производит, она только возвращает объекты приложения, который позволяет вам управлять размером и подобными прежде, чем показать галерею. Я обновил свой ответ с кодом, показывающим, как показать результаты.
добавлено автор tobbr, источник
WordPress – русскоговорящее сообщество
WordPress – русскоговорящее сообщество
768 участник(ов)

Группа пользователей популярнейшей CMS WordPress. Запрещено: мат и ругань реклама, спам (в т.ч. каналами) религия, политика, наркотики приглашение ботов без согласования #nowarez

WordPress for developers
WordPress for developers
761 участник(ов)

Группа для разработчиков wordpress Запрещено - мат - оскорбления - флуд - реклама ip телефония https://goo.gl/wBaqci Другие чаты Битрикс https://t.me/bitrixfordevelopers Битрикс работа https://t.me/bitrix_work