从AJAX中的WordPress函数获取帖子

时间:2014-03-29 作者:wp student

我正在尝试用ajax获取帖子。一切正常,但只显示一个帖子。请检查我的代码并告诉我是否有问题

function ag_get_posts() {
    global $post;
    $args = array(
      \'post_type\' => \'post\',
      \'posts_per_page\' => 12,
      \'post_status\' => \'publish\',
    );

query_posts( $args );


while ( have_posts() ) : the_post(); 
locate_template( \'post.php\', TRUE, TRUE );
 endwhile;

wp_reset_query();
    exit;
}

add_action(\'wp_ajax_ag_get_posts\', \'ag_get_posts\');

jQuery:

var data = {
    action: \'ag_get_posts\',
};

jQuery.post(AjaxPath.ajaxurl, data, function(response) {
var result = $(response)
    Content.html(result);
});

1 个回复
最合适的回答,由SO网友:Milo 整理而成

如果您阅读文档locate_template 你会发现问题所在。

locate_template( $template_names, $load, $require_once );
$require\\u once(布尔)(可选)如果为true,模板文件将加载php require\\u once函数。如果为false,模板文件将加载php require函数。如果$load为false,则此参数无效。默认值:true

PHP不会多次加载模板,因为您已设置$require_once 为真。

用于此目的的一个更简单的API函数是get_template_part:

get_template_part( \'post\' );

结束

相关推荐

插件取消注册WordPress jQuery后将其加入队列

我正在关注一个Wordpress安装,它使用一个注销jQuery的插件,并用它自己的古老版本替换它。我知道why loading your own jQuery is irresponsible 并希望使用与Wordpress捆绑的jQuery版本。我目前正在注销插件版本的jQuery,并将Wordpress版本排队。然而,我的方法对jQuery的位置和版本进行了一些假设。有没有更好的方法来做到这一点,确保Wordpress更新时不会出现问题?wp_deregister_script( \'jquery\