@Nmrus

При подгрузки картинок через ajax не работает lightbox, как исправить?

Lightbox работает только для первых загруженных изображений. После использования ajax в подгруженных изображениях не работает открытие по клику на них, lightbox не открывается, только можно листать начиная с первых картинок которые открывались изначально.
Как исправить? Подскажите пожалуйста.

function get_materials() {
global $post;
$materials_slugs = $_POST['materials_slugs'] ? $_POST['materials_slugs'] : '';
$paged = $_POST['paged'] ? $_POST['paged'] : 1;
$terms_slugs = explode(',',$materials_slugs);
$return_html = '';
$args = array(
'post_type' => 'attachment',
'paged' => $paged,
'post_mime_type' => 'image',
'post_status' => 'any',
'orderby' => 'title',
'order' => 'ASC',
'tax_query' => array(
array (
'taxonomy' => 'product_materials',
'field' => 'slug',
'terms' => $terms_slugs,
),
),
);
$materials = new WP_Query($args);
$max_pages = $materials->max_num_pages;
if ($materials->have_posts()):
while ($materials->have_posts()): $materials->the_post();
$title = get_the_title();
$return_html .='';
$image_full = wp_get_attachment_image_src( $post->ID, 'full' );
$image_thumb = wp_get_attachment_image_src( $post->ID, 'thumbnail' );
$return_html .= ' ';
$return_html .=''.%20$image_thumb%5B0%5D%20.'
';
$return_html .= '' . $title .'';
endwhile;
endif;
if ($paged < $max_pages) {
$next_page = $paged + 1;
$return_html .= 'Показать больше';
}
wp_reset_postdata();
echo $return_html;
wp_die();
}

add_action('wp_ajax_get_materials', 'get_materials');
add_action('wp_ajax_nopriv_get_materials', 'get_materials');
  • Вопрос задан
  • 221 просмотр
Решения вопроса 1
maksym1991
@maksym1991
WordPress adept
Это потому что эти элементы созданы динамически(их не было изначально на странице). По этому после подгрузки постов нужно обновить lightbox - читайте документацию к плагину
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы