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

好吧,伙计们,这个让我介于扯掉头发和踢我的显示器之间。似乎无论我尝试什么,无论我重写查询多少次,更改术语,更改语法......我都一无所获。所以我有一个我正在开发的网站,我们有一个自定义帖子类型“乙烯基”,用于客户希望按字母顺序显示的在线收藏中的黑胶唱片,在自定义帖子类型部分内有一个“乙烯基”类别。然后,客户进一步希望将事物分开并在“vinyls”中创建一个名为“vinyl_ae”的子类别(Vinyls 按字母顺序按第一个字母 A 到 E 排序)。现在,我遇到了一个问题,我试图从vinyl_ae 类别/子类别/不管它现在是什么东西中查询任何帖子,结果什么都没有。我得到任何结果的唯一方法是为 if have_posts() 语句设置 else 条件。我将尝试在此处包含所有我能找到的数据,以帮助解决这个问题。

  1. 自定义帖子类型 - 名称:乙烯基

  2. 主要类别 - 名称:VINYLs,slug:乙烯基,ID:3

  3. 子类别 - 名称:Vinyl AE,slug:vinyl_ae,ID:4571

我所有类别和子类别布局的屏幕截图

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

<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>

提前感谢所有人提供的任何帮助,我在这里认输了。


繁花不似锦
浏览 70回答 1
1回答

守着星空守着你

您应该在示例代码中考虑两件事:您应该将post_type参数设置为您的自定义帖子类型vinyl而不是post帖子类型。如果serial是您帖子的一个字段,您应该$mv->the_post();先调用该行,然后再调用$serial = get_field('serial');语句,因为在the_post()调用之前,您无法访问帖子的元数据。
打开App,查看更多内容
随时随地看视频慕课网APP