如何从活动类获取类别ID并传递给后查询

时间:2017-06-16 04:15:24

标签: javascript php jquery mysql wordpress

如何从活动锚类中获取类别ID并将该ID发送到帖子查询?

我试图在博客标题中切换每个输出的单个类别链接的类,以便在点击时将他们的cat id传递给后续的帖子查询。

这样,博客标题中的活动类只会显示其相同类别的帖子,直到点击了另一个链接的类别。

基本上,我已经在这方面工作了一段时间,我无法解决它。我非常感谢任何必要的PHP和Javascript的帮助。

我是PHP,Javascript和jQuery的新手,我无法在这个问题上找到任何问题或教程。

谢谢!

    <!-- Page Content -->

    <div class="blog-header">
    <div id="blog-header-container">

                <?php $cats = get_categories();
                    foreach ($cats as $cat) {
                        $cat_id= $cat->term_id;?>

                        // Here are the individual category links

                        <?php echo "<a href='' class='blog-cat-list' id='tab-". 
                        $cat_id ."'><h4>" .$cat->name. "</h4></a>";
                   }
                ?>

                </ul>
                </div>
                </div>

                <div class="container" id="blog-container">
                <div class="row" id="all-posts-row">

                // Here is the post query

                <h3><?php $cat->name ?></h3>

                <?php 
                $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
                $args = array(
                        'posts_per_page' => 5, 
                        'paged' => $paged, 
                        'cat' => $cat_id );

                query_posts($args); ?>

                <!-- the loop -->

                <?php if ( have_posts() ) : while (have_posts()) : the_post(); 
                get_template_part( 'content', get_post_format() );
                endwhile; ?>

                <!-- pagination -->

                     <nav>
                     <ul class="pager">
                         <li><?php previous_posts_link( 'Newer Posts' ); ?></li>
                         <li><?php next_posts_link( 'Older Posts' ); ?></li>    
                    </ul>
                    </nav> 

                <?php else : ?>
                <!-- No posts found -->
                <?php endif; ?>
    </div> 
    </div>

1 个答案:

答案 0 :(得分:0)

如果您不想重新加载页面并仍然处理您的请求,则需要使用Ajax Call。在进行ajax调用时,只需将类别ID传递给它。所以它看起来像这样

<a href="javascript:;" onclick="load(<?php echo $category_id; ?>)"><?php echo $category_name; ?></a>

虽然你的javascript

function loadCat(category_id){
    YOUR AJAX CALL
}