tag落地页--通过ajax-post请求数据

  • 查询所有tag及其对应跳转链接
$tags = get_tags(array('get'=>'all'));
$output .= '<ul class="tag-cloud-list">';
if($tags) {
    foreach ($tags as $tag):
        $output .= '<li><a href="'. get_term_link($tag).'">'. $tag->name .'</a></li>';
    endforeach;
} else {
    _e('No tags created.', 'text-domain');
}
$output .= '</ul>';
echo $output;
  • 交互tag查询


    image

    场景如下,通过页面中选中一个或多个tag进行交互查询选择tag下的文章,涉及到post请求

    1、将post请求发送给根目录下的admin-ajax.php
    2、在主题functions.php中通过钩子函数,处理传来的参数,返回处理结果

  • 注意js中post请求的action:tagQuery,为回调钩子函数的tagQuery函数名称

// javascript
 <?php $admin_url=admin_url( 'admin-ajax.php' ); ?>
 $(document).ready(function($){
      var data={
        action:'tagQuery',
        tag: param, // 要查询的tag数组
        page: paged
      }

      $.post("<?php echo $admin_url;?>", data, function(response) {
        if(!response){
          return;
        }else{
          $("#tagRes").html(response);
        }
      });
    });
// php functions.php
function tagQuery(){
    $tagArr = $_POST['tag'];
    $page = $_POST['page'];

    // 动态分页查询
    $quyStr = $tagArr[0];
    for($i = 1 ; $i < count($tagArr) ; $i++){
        $quyStr.='+'.$tagArr[$i];   // 多个tag查询,为+拼接的tag字符串
    }
        $tagQur = array(
            'tag' => $quyStr,
            'orderby' => 'modified',
            'order' => 'DESC',
            'posts_per_page'=> 12,
            'paged'=> $page
        );
  
    $wp_query = new WP_Query($tagQur);
    $max_page = $wp_query->max_num_pages; // 最大页数

    query_posts( $tagQur );

    while ( have_posts() ) : the_post();
        $perLink = get_the_permalink();
        echo "<a href=".$perLink.">";
        echo post_item_show(1);
        echo "</a>";
    endwhile;
    }

        pageSet($page,$max_page);
    }
    wp_reset_query();
    die();

}
add_action('wp_ajax_tagQuery', 'tagQuery');
add_action('wp_ajax_nopriv_tagQuery', 'tagQuery');

参考文章:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容