看看WordPress\'s documentation on AJAX
在您的主题或插件中,您希望有如下代码:
add_action(\'wp_ajax_my_load_recent\', \'my_load_recent_posts\');
add_action(\'wp_ajax_nopriv_my_load_recent\', \'my_load_recent_posts\');
function my_load_recent_posts() {
$args = array(
/* Arguments go here, i.e. how many posts to get */
);
query_posts($args); /* [1] */
/* Header wrap output */
if (have_posts()) : while (have_posts()) : the_post(); /* [2] */
/* Output for each post */
endwhile; else :
/* Output for if there are no posts to get */
endif;
/* Footer wrap output */
wp_reset_query();
}
[1]
query_posts()
documentation[2]Wordpress loop documentation
然后,假设您使用的是jQuery,那么要在前端实现此功能,您需要:
$.ajax(ajax_url/* [3] */, {
method: \'POST\',
data: {
action: \'my_load_recent\',
},
success: function(response) {
/* handling of the output returned by PHP function */
},
error: function() {
/* what to do if there\'s a server error, like 404
}
});
[3]请参阅WordPress关于AJAX的文档,以生成
ajax_url
: “作为
this article 建议,使用
wp_localize_script() 要使URL对脚本可用,并使用以下表达式生成URL:admin\\u URL(\'admin-ajax.php\')”