自定义帖子类型的特定子类别的Wordpress查询帖子

问题描述 投票:0回答:1

[好的,这个让我介于拉扯头发和踢入显示器之间。似乎无论我尝试什么,无论我重写查询,更改术语,更改语法的次数……我一无所获。因此,我在一个网站上工作,我们在其中有一个自定义帖子类型“ Vinyl”,用于客户希望按字母顺序显示的在线收藏中的黑胶唱片,在“自定义帖子类型”部分中具有“乙烯基”类别。然后,客户进一步想将事物分开,并在“乙烯基”中创建一个子类别,称为“ vinyl_ae”(乙烯基按字母顺序从第一个字母A到E进行排序)。现在,我遇到了一个问题,我试图从vinyl_ae类别/子类别/此时的所有帖子中查询任何帖子,结果什么也没有。我根本无法获得任何结果的唯一方法是为if have_posts()语句设置else条件。我将尝试包括所有我可以在这里帮助解决的混乱数据。

  1. 自定义帖子类型-名称:乙烯基
  2. 主类别-名称:乙烯基,弹头:乙烯基,ID:3
  3. 子类别-名称:乙烯基A-E,段塞:vinyl_ae,ID:4571

Screen Shots of all my category and sub-category layouts

[这是我目前的工作代码(请记住,我今晚已将其精简了很多,剩下的还不多,我尝试了许多不同的解决方案,以至于我实际上是根据其他人的结果进行复制和粘贴)

<section id="main">
<div class="content-holder no-spacing">
    <div class="container">
        <div class="content-inner">
            <div id="ajax" class="records row">

            <?php
            $args = array(
            'post_type' => 'post' ,
            'posts_per_page' => 6,
            'cat'         => '4571',
            'paged' => get_query_var('paged'),
            'post_parent' => $parent); 
            $mv = new WP_Query($args);
            if ( $mv->have_posts() ) { 

            while ( $q->have_posts() ) {

            $serial = get_field('serial');
            $mv->the_post(); ?>

            <div class="serial-num"><?php echo $serial; ?></div>

            <?php } ?>

            <?php } else { ?>
            <em>Things Still Screwy</em>
            <?php } ?>

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

非常感谢您提供的所有帮助,我已经在这里丢了毛巾。

php wordpress custom-post-type
1个回答
0
投票

您应该在示例代码中考虑两件事:

  1. 您应该将post_type参数设置为自定义帖子类型vinyl,而不是post帖子类型。

  2. 如果serial是您帖子的字段,则应先调用$mv->the_post();行,然后再调用$serial = get_field('serial');语句,因为在the_post()调用之前,您无法访问帖子的元数据。

© www.soinside.com 2019 - 2024. All rights reserved.