为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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

1 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

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

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

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


查看完整回答
反对 回复 2022-07-09
  • 1 回答
  • 0 关注
  • 69 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信