使用ajax和自定义帖子类型为Wordpress创建loadmore?
我在使用ajax时遇到了一些loadmore问题。谁能帮我 我有密码使用ajax和自定义帖子类型为Wordpress创建loadmore?,ajax,wordpress,Ajax,Wordpress,我在使用ajax时遇到了一些loadmore问题。谁能帮我 我有密码 <button class="load-more">More</button> 更多 作用 add_action('wp_ajax_loadmore', 'get_post_loadmore'); add_action('wp_ajax_nopriv_loadmore', 'get_post_loadmore'); function get_post_loadmore() { $offset
<button class="load-more">More</button>
更多
作用
add_action('wp_ajax_loadmore', 'get_post_loadmore');
add_action('wp_ajax_nopriv_loadmore', 'get_post_loadmore');
function get_post_loadmore() {
$offset = isset($_POST['offset']) ? (int)$_POST['offset'] : 0;
$getposts = new WP_query(); $getposts->query('post_type=event&post_status=publish&showposts=5&offset='.$offset);
global $wp_query; $wp_query->in_the_loop = true;
while ($getposts->have_posts()) : $getposts->the_post(); ?>
<?php do_action('postthumb1')?>
<?php endwhile; wp_reset_postdata();
die();
}
add_action('wp_ajax_loadmore','get_post_loadmore');
添加操作(“wp\u ajax\u nopriv\u loadmore”、“get\u post\u loadmore”);
函数get\u post\u loadmore(){
$offset=isset($_POST['offset'])?(int)$_POST['offset']:0;
$getposts=new WP_query();$getposts->query('post_type=event&post_status=publish&showposts=5&offset='。$offset);
全局$wp\u query;$wp\u query->in\u the\u loop=true;
而($getposts->have_posts()):$getposts->the_post();?>
这将为您提供网站上的所有自定义帖子类型:
$args = array(
'public' => true,
'_builtin' => false,
);
$output = 'names'; // names or objects, note names is the default
$operator = 'and'; // 'and' or 'or'
$post_types = get_post_types( $args, $output, $operator );
$args = array(
'post_type' => $post_types,
'post_status' => 'publish',
'posts_per_page' => 5,
'offset' => $offset
);
$getpost = new WP_Query( $args );
如果您正在查找ajax调用传入的特定post_类型:
<script>
$(document).ready(function(){
var offset = 4;
$('.load-more1').click(function(event) {
$.ajax({
type : "post",
dataType : "html",
async: false,
url : '<?php echo admin_url('admin-ajax.php');?>',
data : {
action: "loadmore",
offset: offset,
posttype: posttype //Where ever you want to get this from
},
beforeSend: function(){
},
success: function(response) {
$('.list-new').append(response);
offset = offset + 5;
},
error: function( jqXHR, textStatus, errorThrown ){
console.log( 'The following error occured: ' + textStatus, errorThrown );
}
});
});
});
</script>
你的问题我不太清楚。你想在AJAX请求中传递你想要的post\u类型
作为参数吗?Sr.你不能帮助meThks先生,代码工作,但是只查询post\u类型:post
<script>
$(document).ready(function(){
var offset = 4;
$('.load-more1').click(function(event) {
$.ajax({
type : "post",
dataType : "html",
async: false,
url : '<?php echo admin_url('admin-ajax.php');?>',
data : {
action: "loadmore",
offset: offset,
posttype: posttype //Where ever you want to get this from
},
beforeSend: function(){
},
success: function(response) {
$('.list-new').append(response);
offset = offset + 5;
},
error: function( jqXHR, textStatus, errorThrown ){
console.log( 'The following error occured: ' + textStatus, errorThrown );
}
});
});
});
</script>
add_action('wp_ajax_loadmore', 'get_post_loadmore');
add_action('wp_ajax_nopriv_loadmore', 'get_post_loadmore');
function get_post_loadmore() {
$offset = isset($_POST['offset']) ? (int)$_POST['offset'] : 0;
$posttype = isset($_POST['posttype']) ? $_POST['posttype'] : 'post';
$args = array(
'post_type' => $posttype,
'post_status' => 'publish',
'posts_per_page' => 5,
'offset' => $offset
);
$getposts = new WP_query($args);
global $wp_query;
$wp_query->in_the_loop = true;
while ($getposts->have_posts()) : $getposts->the_post();
do_action('postthumb1');
endwhile;
wp_reset_postdata();
die();
}