使用ajax和自定义帖子类型为Wordpress创建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

我在使用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 = 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(); 
}