Сообщения WordPress с циклом Ajax

#javascript #php #jquery #ajax #wordpress

#javascript #php #jquery #ajax #wordpress

Вопрос:

Я пытаюсь применить это руководство на своем веб-сайте

Получение циклических циклов с поддержкой Ajax с помощью jQuery и WordPress

ДЕМОНСТРАЦИЯ

Я применил все, и я получаю эту ошибку из консоли Chrome

 Uncaught TypeError: undefined is not a function 
  

Это мой код:

 // ajaxLoop.js
jQuery(function($){
    var page = 1;
    var loading = true;
    var $window = $(window);
    var $content = $("#articles-wrapper");
    var load_posts = function(){
            $.ajax({
                type       : "GET",
                data       : {numPosts : 5, pageNumber: page}, 
                dataType   : "html",
                url        : "http://www.dzlng.com/demo/wp-content/themes/dzlng/loopHandler.php",
                beforeSend : function(){
                    if(page != 1){
                       /* $content.append('<div id="temp_load" style="text-align:center">
                            loading....
                            </div>');*/
                    }
                },
                success    : function(html){
                    $data = $(html);
                    if($data.length){
                        //$data.hide();
                        var newItems = $(html).appendTo($("#articles-wrapper"));
                        imagesLoaded('#articles-wrapper', function() {
                            $("#articles-wrapper").isotope('appended', newItems );
                        });
                        $data.fadeIn(500, function(){
                            $("#temp_load").remove();
                            loading = false;
                        });
                    } else {
                        $("#temp_load").remove();
                    }
                },
                error     : function(jqXHR, textStatus, errorThrown) {
                    $("#temp_load").remove();
                    alert(jqXHR   " :: "   textStatus   " :: "   errorThrown);
                }
        });
    }
    $window.scroll(function() {
        var content_offset = $content.offset();
        //console.log(content_offset.top);
        if(!loading amp;amp; ($window.scrollTop()  
            $window.height()) > ($content.scrollTop()   $content.height()   content_offset.top)) {
                loading = true;
                page  ;
                load_posts();
        }
    });
    load_posts();
});
  

И:

 <?php
//loopHandler.php
// Our include
define('WP_USE_THEMES', false);
require_once('../../../wp-load.php');

// Our variables
$numPosts = (isset($_GET['numPosts'])) ? $_GET['numPosts'] : 0;
$page = (isset($_GET['pageNumber'])) ? $_GET['pageNumber'] : 0;

query_posts(array(
       'posts_per_page' => $numPosts,
       'paged'          => $page
));

// our loop
if (have_posts()) {
       while (have_posts()){
              the_post();
              get_template_part( 'content', 'item' );
       }
}
wp_reset_query();
?>
  

Я пробовал несколько вещей, но это не работает.

Комментарии:

1. Это imagesLoaded функция? Здесь не видно определения функции. В противном случае есть ли номер строки, указывающий на ошибку? Это ошибка JS, которая возникает, когда вы пытаетесь вызвать функцию, которая не существует — либо она не была объявлена, она находится в другой области видимости / недоступна, либо может быть введена с ошибкой?

2. Похоже, что это isotope() функция, которая не определена. Поможет ли это, если вы добавите зависимость от isotope.pkgd.min.js того, когда вы ставите в очередь ajaxLoop.js ?

3. $("#articles-wrapper").isotope() Перед добавлением элементов необходимо выполнить вызов.

4. в wp-config.php включите режим отладки, например define(‘WP_DEBUG’, true); а затем проверьте наличие ошибок.

5. Ваш PHP не возвращает изображения.. как content-item.php как выглядит ?