因此,我使用ajax创建了更多的文章,下面是我在网上找到的教程。起初,当只有一个按钮时,它会工作,所以我创建了另一个按钮,它在开始时工作,但当我再次尝试时,它就停止工作了。我只是随机地编辑ajax或与之相关的内容,im再删除缓存和刷新,有时不起作用。老实说,我不知道到底是怎么回事,因为im对ajax、javascript和jquery还不熟悉。
总之,这是我的ajax:
jQuery(function($){
$('.loadmore').click(function(){
var button = $(this),
data = {
'action': 'loadmore',
'query': kamisaha_loadmore_param.posts,
'page' : kamisaha_loadmore_param.current_page
};
$.ajax({
url : kamisaha_loadmore_param.ajaxurl,
data : data,
type : 'POST',
beforeSend : function ( xhr ) {
button.text('Loading...');
},
success : function( data ){
if( data ) {
button.html( 'Tampilkan Lagi ' ).prev().after(data);
kamisaha_loadmore_param.current_page++;
if ( kamisaha_loadmore_param.current_page == kamisaha_loadmore_param.max_page )
button.remove();
} else {
button.remove();
}
}
});
});
});
jQuery(function($){
$('.movie').click(function(){
var button = $(this),
data = {
'action': 'loadmore_movie',
'query': posts_movie,
'page' : current_page_movie
};
$.ajax({
url : kamisaha_loadmore_param.ajaxurl,
data : data,
type : 'POST',
beforeSend : function ( xhr ) {
button.text('Loading SDMASKLDJ ASLDJ ASLKJ...');
},
success : function( data ){
if( data ) {
button.html( 'Tampilkan Lagi ' ).prev().after(data);
current_page_movie++;
if ( current_page_movie == max_page_movie )
button.remove();
} else {
button.remove();
}
}
});
});
});如果我的代码看起来很糟糕,我很抱歉,因为我只是公然地把它打包在一起。任何帮助都是非常感谢的,谢谢。
编辑:这是我的function.php
function load_more_script(){
if(!is_home() && !is_front_page()){
global $wp_query;
wp_register_script( 'kamisaha_loadmore', get_stylesheet_directory_uri() . '/assets/js/loadmore.js', array('jquery') );
wp_localize_script( 'kamisaha_loadmore', 'kamisaha_loadmore_param', array(
'ajaxurl' => admin_url('admin-ajax.php'), // WordPress AJAX
'posts' => json_encode( $wp_query->query_vars ),
'current_page' => get_query_var( 'paged' ) ? get_query_var('paged') : 1,
'max_page' => $wp_query->max_num_pages
) );
wp_enqueue_script( 'kamisaha_loadmore' );
}
}
add_action( 'wp_enqueue_scripts', 'load_more_script' );
function misha_loadmore_ajax_handler(){
// prepare our arguments for the query
$args = json_decode( stripslashes( $_POST['query'] ), true );
$args['paged'] = $_POST['page'] + 1; // we need next page to be loaded
$args['post_type'] = 'anime';
// it is always better to use WP_Query but not here
query_posts( $args );
if( have_posts() ) :
// run the loop
while( have_posts() ): the_post();
get_template_part('content', 'list');
endwhile;
endif;
die; // here we exit the script and even no wp_reset_query() required!
}
add_action('wp_ajax_loadmore', 'misha_loadmore_ajax_handler'); // wp_ajax_{action}
add_action('wp_ajax_nopriv_loadmore', 'misha_loadmore_ajax_handler'); // wp_ajax_nopriv_{action}
function loadmore_movie(){
// prepare our arguments for the query
$args = json_decode( stripslashes( $_POST['query'] ), true );
$args['paged'] = $_POST['page'] + 1; // we need next page to be loaded
$args['post_type'] = 'anime';
$args['meta_key'] = 'ks_type';
$args['meta_value'] = 'Movie';
$args['orderby'] = 'modified';
$args['order'] = 'DESC';
// it is always better to use WP_Query but not here
query_posts( $args );
if( have_posts() ) :
// run the loop
while( have_posts() ): the_post();
get_template_part('content', 'list');
endwhile;
endif;
die; // here we exit the script and even no wp_reset_query() required!
}
add_action('wp_ajax_loadmore_movie', 'loadmore_movie'); // wp_ajax_{action}
add_action('wp_ajax_nopriv_loadmore_movie', 'loadmore_movie'); // wp_ajax_nopriv_{action}这是我的第一个循环( ajax总是工作的):
if (have_posts()) : while(have_posts()) : the_post();
max_num_pages > 1 )
echo 'Tampilkan Lagi ';这是我的第二个循环( Ajax有时不工作,但它在第一次尝试时工作):
$args = array('post_type' => 'anime', 'meta_key' => 'ks_type', 'meta_value' => 'Movie', 'order' => $set_order, 'orderby' => $set_orderby, 'meta_query' => array('rating' => array('key' => 'ks_score', 'type' => 'NUMERIC'))); $q = NEW WP_Query($args); if ($q->have_posts()) : while($q->have_posts()) : $q->the_post();
get_template_part('content', 'list');
endwhile; else : echo "No results found"; endif; wp_reset_postdata();
if ( $q->max_num_pages > 1 )
echo 'Tampilkan Lagi ';
var posts_movie = '<?php echo serialize( $q->query_vars ) ?>',
current_page_movie = 1,
max_page_movie = <?php echo $q->max_num_pages ?>发布于 2020-08-10 13:03:03
使用F12打开控制台,检查红色错误,如下所示:
控制台怎么说?
https://wordpress.stackexchange.com/questions/372707
复制相似问题