WP Вставить содержимое сообщения на страницу DIV - PullRequest
0 голосов
/ 28 мая 2020

В WP я пытаюсь загрузить содержимое своих сообщений в DIV на странице через AJAX. Я установил следующие параметры:

в функциях. php:

add_action( 'wp_ajax_load_post_content', 'load_post_content' );
add_action( 'wp_ajax_nopriv_load_post_content', 'load_post_content' );

function load_post_content() {

    $the_post_id = $_POST['the_ID'];
    $args = array(
        'post_type' => 'post',
        'p' => $the_post_id
    );

    $ajax_query = new WP_Query($args);

    $the_content;

    if ( $ajax_query->have_posts() ) : while ( $ajax_query->have_posts() ) : $ajax_query->the_post();
        $the_content = the_content();
    endwhile;
    endif; 

    echo $the_content;

    wp_reset_postdata();

    die();
}

jQuery в нижнем колонтитуле WP:

jQuery(".post-link").click(function(){
    var post_id = jQuery(this).data('id');

    jQuery.post(
        ajaxurl,
        {
            'action': 'load_post_content',
            'the_ID': post_id
        },
        function(response){
            jQuery('#the-post-content').html(response);
        }
    );

    return false;
});

, а также список сообщений и DIV для отображения содержимого в одиночном формате. php:

<?php $wpb_all_query = new WP_Query(array('post_type'=>'post', 'post_status'=>'publish', 'posts_per_page'=>-1)); ?>
<?php if ( $wpb_all_query->have_posts() ) : ?>
<ul>
    <?php while ( $wpb_all_query->have_posts() ) : $wpb_all_query->the_post(); ?>
        <li><a href="<?php the_permalink(); ?>" class="post-link"><?php the_title(); ?></a></li>
    <?php endwhile; ?>
</ul>
<?php wp_reset_postdata(); ?>

<?php else : ?>
    <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>

<div id="the-post-content"></div>

Я использовал этот подход из следующего: https://wordpress.stackexchange.com/questions/317277/get-post-content-and-show-it-in-a-div

Мой тестовый сайт: https://www.test.foundationbad.nl

Однако он не работает - нажатие на ссылки просто загружает сам пост, а не загружает содержимое в DIV содержимого сообщения по желанию. Я был бы очень благодарен за любые указатели, так как полный нуб до AJAX Я потратил много часов, пытаясь взломать это, пока безуспешно!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...