Avada主题-显示特定类别的结果

时间:2014-09-29 作者:NXMixin

在Avada主题中有一个名为“FAQ页面”的页面模板,该“FAQ页面”可以有类别(FAQ\\u category\\u 1),在这些类别中可以有无限的问题和答案。

代码的这一部分(以下)将分类,不包括所有问题/答案。

我想要实现的是,我只想通过使用if语句显示一个特定类别的问题/答案,例如,该类别等于页面标题($标题)。

    <?php $portfolio_category = get_terms(\'faq_category_1\');
    if($portfolio_category):
    ?>
    <ul class="faq-tabs clearfix">
        <li class="active"><a data-filter="*" href="#"><?php echo __(\'Alle\', \'Avada\'); ?></a></li>
        <?php foreach($portfolio_category as $portfolio_cat): ?>
        <li><a data-filter=".<?php echo urldecode($portfolio_cat->slug); ?>" href="#"><?php echo $portfolio_cat->name; ?></a></li>
        <?php endforeach; ?>
    </ul>
    <?php endif; ?>
    <div class="portfolio-wrapper">
        <div class="accordian fusion-accordian">
            <div class="panel-group" id="accordian-one">
                <?php
                $args = array(
                    \'post_type\' => \'avada_faq_1\',
                    \'nopaging\' => true
                );
                $gallery = new WP_Query($args);
                $count = 0;
                while($gallery->have_posts()): $gallery->the_post();
                $count++;
                ?>
                <?php
                $item_classes = \'\';
                $item_cats = get_the_terms($post->ID, \'faq_category_1\');
                if($item_cats):
                foreach($item_cats as $item_cat) {
                    $item_classes .= urldecode($item_cat->slug) . \' \';
                }
                endif;
                ?>
我是一个初级程序员(也是我在这里的第一个问题:),我不确定我到底需要在哪里调整代码。非常感谢。

1 个回复
最合适的回答,由SO网友:Mario 整理而成

有两件事你需要记住。在WordPress中,您有分类法和术语。例如,类别是taxonomy, 假设投资组合是term 属于“类别”分类法。

你刚刚发布的代码所做的就是all the terms 并将所有这些值打印为顶部的菜单。然后它进行另一个查询以获取all the posts “avada\\u faq\\u 1”并使用javascript按术语对其进行筛选。

如果只想显示特定术语的问题,可以修改该查询:

$args = array(
    \'post_type\' => \'avada_faq_1\',
    \'nopaging\' => true,
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'my_taxonomy\', // Could be "faq_category_1" or a custom taxonomy
            \'terms\' => $title,
            \'field\' => \'slug\'
        )
     )
);
您只能按ID或slug选择术语,因此在进行查询之前,应将$title转换为slug,您可以使用sanitize_title.

请记住,更改查询后,javascript过滤几乎没有意义,因此应删除顶部的“术语”菜单。

结束

相关推荐

Add sidebar in inner pages

我是wordpress编码新手。我想在主页以外的页面上添加一个侧边栏,这两个页面都是我的自定义模板。我想在管理员列表,以便管理员可以编辑侧边栏的内容。此外,我是否需要创建小部件来显示每个边栏?