#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 как выглядит ?