在我的模板文件中,我获取这样的自定义帖子数据,
最初我获取 7 个帖子,我需要在帖子下方创建一个“阅读更多”按钮,当有人点击它时,它将从 wp 数据库表中获取更多 7 个帖子。
但是我不知道该怎么做,我想知道,
- 在 jquery get 方法中,我调用哪个 php 文件来获取数据,
- 我将如何或什么确切的脚本写入该 php 文件。
最佳答案
在这里,我添加了如何编写代码的粗略想法:
在 function.php 中创建一个 ajax 函数,并通过 ajax 调用将偏移值传递给它,然后将接收到的数据附加到您的 disply 部分。
这是创建 ajax 函数的示例:
add_action('wp_ajax_nopriv_cyt_ajax_search','cyt_ajax_search');
add_action('wp_ajax_cyt_ajax_search','cyt_ajax_search');
function cyt_ajax_search(){
$offset = $_POST['offset'];
$args = array (
'post_type' => 'post',
'posts_per_page' =>7
'offset'=>$offset,
'meta_query' =>..........
);
$query = new WP_Query($args);
if($query->have_posts() ) :
while ( $query->have_posts() ) : $query->the_post();
endwhile;
wp_reset_postdata();
endif;
}
//前端代码,单击按钮时它将计算ajax函数并传递偏移值,每次单击时您需要将该值增加7(如果您只想加载7个帖子)并检查有多少个帖子留下,如果偏移值超过 wp 查询要显示的总计数数据数,则只需隐藏按钮
<div id ="esiSection"></div>
<span click="loadmore" data-offset='0'>Click here</span>
jQuery('.loadmore').click(function(){
var offset = parseInt(jQuery(this).attr('data-offset'));
jQuery.ajax({
url: '<?php echo admin_url('admin-ajax.php'); ?>',
type: 'POST',
data: {
'action' : 'cyt_ajax_search',
'offset' : offset ,
},
success: function(response) {
jQuery('#resiSection').append(response);
offset = offset + 7;
},
error: function(error){
console.log(error);
}
});
});
关于wordpress - 如何获取json格式的wordpress自定义帖子数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46722405/