@vladzvezdin

Ajax подгрузка типов постов wp?

На сайте две страницы, для двух соответствующих кастомных типов записей (Каталоги и Видео). На каждой странице должна быть реализована ajax подгрузка постов по нажатию на кнопку. Для одной страницы это реализовывается без проблем. Но на второй тот же самый подход не работает.

//AJAX
function true_load_posts_catalogs(){
    $args = unserialize(stripslashes($_POST['query']));
    $args['paged'] = $_POST['page'] + 1; // следующая страница
    $args['post_status'] = 'publish';
    $q = new WP_Query($args);
    if( $q->have_posts() ):
        while($q->have_posts()): $q->the_post();
            /*
             * Со строчки 13 по 27 идет HTML шаблон поста, максимально приближенный к теме TwentyTen.
             * Для своей темы вы конечно же можете использовать другой код HTML.
             */
            ?>
            <a href="<?php the_field('catalog-file'); ?>" class="catalog-item">
                <div class="catalog-item-img">
                    <?php the_post_thumbnail('full'); ?>
                </div>

                <div class="catalog-item-text">
                    <p><?php the_title(); ?></p>
                    <p><?php the_field('catalog-part');?></p>
                    <p><?php the_field('catalog-title');?></p>
                </div>
            </a>
        <?php
        endwhile;
    endif;
    wp_reset_postdata();
    die();
}


add_action('wp_ajax_loadmore', 'true_load_posts_catalogs');
add_action('wp_ajax_nopriv_loadmore', 'true_load_posts_catalogs');




function true_load_posts_videos(){
    $args = unserialize(stripslashes($_POST['query']));
    $args['paged'] = $_POST['page'] + 1; // следующая страница
    $args['post_status'] = 'publish';
    $q = new WP_Query($args);
    if( $q->have_posts() ):
        while($q->have_posts()): $q->the_post();
            /*
             * Со строчки 13 по 27 идет HTML шаблон поста, максимально приближенный к теме TwentyTen.
             * Для своей темы вы конечно же можете использовать другой код HTML.
             */
            ?>
            <div class="video-item disable-video-item">
                <div class="video-item-img">
                    <?php the_post_thumbnail('full'); ?>
                </div>
                <div class="video-item-description">
                    <h3><?php the_title();?></h3>
                    <h4><?php the_field('video-subtitle');?></h4>
                    <a href="<?php the_field('video-link');?>"><span>Смотреть</span></a>
                </div>
            </div>
        <?php
        endwhile;
    endif;
    wp_reset_postdata();
    die();
}


add_action('wp_ajax_loadmore', 'true_load_posts_videos');
add_action('wp_ajax_nopriv_loadmore', 'true_load_posts_videos');


я думаю, что конфликтуют строки add_action
  • Вопрос задан
  • 525 просмотров
Пригласить эксперта
Ответы на вопрос 1
@vladzvezdin Автор вопроса
Решение нашел. И правда они конфликтовали. Присвоил разные названия, а именно вместо wp_ajax_loadmore прописал свое название wp_ajax_example. Ну и во второй строчке также
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы