当前位置: 首页 > 知识库问答 >
问题:

WordPress自定义分类法WP_Query

司空健
2023-03-14

我正在尝试创建一个查询,其中我在自定义帖子类型中创建了多个类别(分类法),然后在主页上根据具体的内容进行查询,这样做很好。目前我有3种分类法:

  1. 当前特价
  2. meineke-差异
  3. 特色

我已经编写了拉动这些的代码。我遇到的问题是,在主页上,当这些帖子也附加到“特色”分类法时,它只需要拉这些帖子。因此,这方面的标准逻辑示例如下:

如果分类法=当前特价商品和特色商品,则成功或失败

但是它所做的是把它们都拉出来,因为当前的代码是或,我需要和

思想?(代码如下)

<?php

$post_type = 'coupons';
$tax = 'coupons_category';
$tax_terms = get_terms($tax);

if ($tax_terms):

    foreach ($tax_terms as $tax_term):

        echo '<div id="'.$tax_term->slug.'" class="coupon-box '.$tax_term->slug.'">';

        $args = array(
            'post_type' => $post_type,
            "$tax" => array($tax_term->slug, 'featured'),
            'post_status' => 'publish',
            'posts_per_page' => -1,
            'caller_get_posts' => 1
        );
        $myQuery = null;
        $myQuery = new WP_Query($args);

        if($myQuery->have_posts()):
            while ($myQuery->have_posts()) : $myQuery->the_post();

            $price = get_field('price_image', $myQuery->ID);
            $print = get_field('print', $myQuery->ID);
            $product = get_field('product_box_image', $myQuery->ID);

            $title = get_the_title();
            $content = get_the_content();

            echo '<div class="fourty9 left box center">';
                echo '<h1>'.$title.'</h1>';
                echo '<p class="center"><img src="'.$price.'" /></p>';
                echo '<p>'.$content.'</p>';
                echo '<p class="center"><a href="'.$print.'">Print Coupon</a></p>';
                echo '<p class="center"><img src="'.$product.'" alt="Filter"></p>';
            echo '</div>';  


            endwhile;
        endif;

        echo '</div>';

        wp_reset_query();

    endforeach;

endif;

?>

共有1个答案

雍兴修
2023-03-14

您可以尝试此操作(tax-使用taxonomy slug。从版本3.1起已弃用,支持“tax\u query”)

$args = array(
    'post_type' => 'coupons',
    'posts_per_page' => -1,
    'caller_get_posts' => 1,
    'tax_query' => array(
        array(
            'taxonomy' => 'coupons_category',
            'field' => 'slug',
            'terms' => array( 'current-specials', 'featured' ),
            'operator' => 'AND'
        )
    )
);
$query = new WP_Query( $args );
 类似资料:
  • 我有一个自定义的文章类型(媒体文章),它使用一些自定义字段,有一个自定义分类法(媒体文章类别)和该分类法中的14个术语。我可以使用CPT归档模板输出所有自定义帖子。 我在侧边栏中还有一个菜单,它列出了用于过滤自定义帖子的术语(我使用了一个自定义WP菜单小部件来创建列表)。 我用一个查询设置了一个自定义分类模板。根据args中放置的分类术语,我能够成功地组合或单独显示帖子。因此,如果我不需要使用过滤

  • 我已经创建了一个包含多个分类法的自定义查询,在此基础上,我使用进行分页。分类法是通过下拉选择表单来选择的,使用可以过滤帖子,这只是一个临时解决方案,但目前效果良好,值得注意。 分页工作正常,当选择分类术语时,帖子可以正确显示,但是当我离开第一页,比如说我进入第2页,在下拉选择器中选择不同的分类术语时,URL会保留当前页码,并向其中添加选择器ID。我想实现的是,当我在选择器中单击不同的分类法时,新选

  • 我已经搜索了又搜索,除了我称之为“hack方法”的方法之外,找不到其他方法将自定义分类添加到自定义管理菜单中。 然后我注册我的帖子类型并确保它们使用 这可以工作,自定义帖子类型显示在我的自定义菜单中。 但是自定义分类法不接受同一属性的字符串,只接受true或false。 因此,要添加它,您必须创建一个子菜单页 这是一种“黑客”方式。 还有别的办法吗?如果不修改WordPress核心,我可以覆盖re

  • 我有一个自定义的帖子类型设置,有许多类别和子类别。 我试图做的是创建一个页面,显示特定类别中的所有帖子,并使用一个菜单列出所有类别子类别,以便可以过滤帖子。 我已尝试复制存档模板并将其重命名为分类法-(我的自定义分类法)。php,如果我转到slug,它会显示某些帖子,并使用

  • 我的股票与分页我尝试了很多解决方案,但没有工作!我使用WordPress5.4。我的网站是一个单页网站,当然我想在索引中使用它。php 这是我的密码: 很抱歉,如果这是一个高度重复的问题——我发现的其他修复方法都不适用于我。请有人告诉我问题在哪里? 谢谢! 编辑1我尝试了这个,它也不工作!

  • 我有一个与自定义分类法(支持)相关的自定义帖子类型(问题) 在我的主题/分类中。php我有以下代码: 这意味着我针对“支持”分类法的特定模板文件。 在分类法模板文件中,我进行了自定义查询: 我有大约11篇文章,第1页显示了前5篇文章,但问题是没有显示分页。 有什么想法吗?非常感谢。