如何在json中获取wordpress自定义发布数据?

时间:2017-10-13 04:10:33

标签: wordpress wordpress-theming custom-wordpress-pages

在我的模板文件中,我获取了这样的自定义帖子数据,

this link

最初我收到7个帖子,我需要在帖子后面写一个更多按钮,当有人点击它时,它会从wp数据库表中获取更多7个帖子。

但我不知道怎么做,我想知道,

  • 在jquery get方法中,我调用哪个php文件,
  • 我将在该php文件中编写的脚本是什么或者什么。

1 个答案:

答案 0 :(得分:2)

在这里,我已经大致了解了如何编写代码:

在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);
			
		}
				
	});	
	
});	

相关问题