基于用户元数据的Ajax分页
如果脚本搜索基于用户元数据的Ajax分页,ajax,wordpress,pagination,Ajax,Wordpress,Pagination,如果脚本搜索user依赖于用户元数据,如何在AJAX中设置分页链接。分页工作正常,但问题在于分页链接不工作。有人能帮我弄清楚如何正确设置分页链接吗 这是我的AJAX脚本: function nanny_search_ajax1() { $search_in = $_POST['search_in']; $search_type = $_POST['search_type']; $start_date = $_POST['start_date']; $keyword = $_POST['keywo
user
依赖于用户元数据,如何在AJAX中设置分页链接。分页工作正常,但问题在于分页链接不工作。有人能帮我弄清楚如何正确设置分页链接吗
这是我的AJAX脚本:
function nanny_search_ajax1() {
$search_in = $_POST['search_in'];
$search_type = $_POST['search_type'];
$start_date = $_POST['start_date'];
$keyword = $_POST['keyword'];
if($search_in=='nanny'){
$search_in ='interested';
}
else{
$search_in ='lookgin';
}
$start_value = $start_date;
$start_compare = '=';
$nanny_result = '';
$nanny_error = '';
$number = 2;
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$offset = ($paged - 1) * $number;
$args = array(
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'user_start',
'value' => $start_value,
'compare' => $start_compare
)
),
'offset'=>$offset,
'number'=>$number,
);
$users = get_users();
$query = get_users($args);
$total_users = count($users);
$total_query = count($query);
$total_pages = intval($total_users / $number) + 1;
$query = get_users($args);
if (!empty($query)) {
foreach ($query as $user) {
$profile_picture = wp_get_attachment_url(get_user_meta($user->ID, 'be_custom_avatar', true));
$profile_picture = get_avatar($user->ID, 100);
if($search_in=='nanny'){
$interested = get_user_meta($user->ID, 'interested', true);
}
else{
$interested = get_user_meta($user->ID, 'lookgin', true);
}
$user_date = get_user_meta($user->ID, 'user_start', true);
$aboutme = get_user_meta($user->ID, 'aboutme', true);
$user_link = get_author_posts_url($user->ID);
$nanny_result .= "<div class='nanny-babysiter-box'>";
if ($profile_picture != '') {
$nanny_result .="<div class='nanny-babysiter-box-img'>$profile_picture</div>";
}
$nanny_result .="<div class='user-icons'><ul><li><a href='#'><i class='fa fa-circle-o'></i></a></li><li><a href='#'><i class='fa fa-envelope-o'></i></a></li><li><a href='#'><i class='fa fa-star'></i></a></li></ul></div>";
$nanny_result .="<div class='user-details'><div class='details-sub search-title'><a target='_blank' href='$user_link'><span>$user->display_name</span></a></div>";
$nanny_result .="<div class='details-sub'>$interested</div>";
if ($user_date != '') {
$nanny_result .="<div class='details-sub'><span>Start Date : </span>$user_date</div>";
}
if ($aboutme != '') {
$nanny_result .="<div class='details-sub'><span>About Me : </span></div>";
}
$nanny_result .="</div>";
if ($aboutme != '') {
$nanny_result .="<div class='details-sub'>$aboutme</span></div>";
}
$nanny_result .="</div>";
}
if ($total_users > $total_query) {
$nanny_result.='<div id="pagination" class="clearfix">';
$nanny_result.='<span class="pages">Pages:</span>';
$current_page = max(1, get_query_var('paged'));
$nanny_result.= paginate_links(array(
'base' => get_pagenum_link(1) . '%_%',
'format' => 'page/%#%/',
'current' => $current_page,
'total' => $total_pages,
'prev_next' => false,
'type' => 'list',
));
$nanny_result.= '</div>';
}
} else {
$nanny_error = '<div>Unfortunately at present there is no one matching your exact search criteria. You may like to consider other candidates.</div>';
}
echo json_encode(array("nanny_result" => $nanny_result, "nanny_error" => $nanny_error));
die;
}
add_action('wp_ajax_nopriv_nanny_search_ajax1', 'nanny_search_ajax1');
add_action('wp_ajax_nanny_search_ajax1', 'nanny_search_ajax1');
功能保姆搜索ajax1(){
$search\u in=$\u POST['search\u in'];
$search\u type=$\u POST['search\u type'];
$start_date=$_POST['start_date'];
$keyword=$_POST['keyword'];
如果($search_in=='nanny'){
$search_in='interest';
}
否则{
$search_in='lookgin';
}
$start\u值=$start\u日期;
$start_compare='=';
$nanny_结果=“”;
$nanny_错误=“”;
$number=2;
$paged=(get_query_var('paged'))?get_query_var('paged'):1;
$offset=($paged-1)*$number;
$args=数组(
“元查询”=>数组(
'关系'=>'和',
排列(
'key'=>'user_start',
“值”=>$start\u值,
“比较”=>$start\u比较
)
),
“偏移量”=>$offset,
“number”=>$number,
);
$users=get_users();
$query=get_用户($args);
$total_users=计数($users);
$total_query=计数($query);
$total_pages=intval($total_users/$number)+1;
$query=get_用户($args);
如果(!empty($query)){
foreach($queryas$user){
$profile_picture=wp_get_attachment_url(get_user_meta($user->ID,'be_custom_avatar',true));
$profile\u picture=get\u avatar($user->ID,100);
如果($search_in=='nanny'){
$interest=get\u user\u meta($user->ID,'interest',true);
}
否则{
$interest=get\u user\u meta($user->ID,'lookgin',true);
}
$user\u date=get\u user\u meta($user->ID,'user\u start',true);
$aboutme=get\u user\u meta($user->ID,'aboutme',true);
$user\u link=get\u author\u posts\u url($user->ID);
$nanny_结果=“”;
如果($profile_picture!=''){
$nanny\u结果=“$profile\u图片”;
}
$nanny_result.=“”;
$nanny_结果=“”;
$nanny_result.=“$interest”;
如果($user_date!=''){
$nanny\u result.=“开始日期:$user\u日期”;
}
如果($aboutme!=''){
$nanny_result.=“关于我:”;
}
$nanny_结果=“”;
如果($aboutme!=''){
$nanny_result.=“$aboutme”;
}
$nanny_结果=“”;
}
如果($total\u users>$total\u query){
$nanny_结果='';
$nanny_result.='Pages:';
$current_page=max(1,get_query_var('paged');
$nanny_result.=paginate_链接(数组(
'base'=>get_pagenum_link(1)。'%\%',
'格式'=>'第/%#%/'页,
“当前”=>$current\u页面,
“总计”=>$total\u页,
“上一步”=>错误,
'类型'=>'列表',
));
$nanny_结果='';
}
}否则{
NANYYORYOLL =“不幸的是,目前没有一个与您的搜索标准相匹配。您可能喜欢考虑其他候选人。”
}
echo json_编码(数组(“nanny_结果”=>$nanny_结果,“nanny_错误”=>$nanny_错误));
死亡
}
添加动作(“wp_ajax_nopriv_nanny_search_ajax1”、“nanny_search_ajax1”);
添加操作(“wp_ajax_nanny_search_ajax1”、“nanny_search_ajax1”);
先谢谢你 我怀疑您的分页链接也应该是ajaxified的,因此您可能在javascript中使用类似于
$('.prev page')的smth将它们作为目标代码>。如果是这种情况,则分页链接将在页面加载和DOM解析之后添加到DOM中,因此,click
事件不会绑定到目标元素。要将javascript事件绑定到动态创建/添加的DOM元素,请使用on()
或delegate()
方法,如$('.prev page')。on('click',function(){…})
。有关详细信息,请参见文档