【问题标题】:WordPress: Get post slug for name of module in Custom Post TypeWordPress:在自定义帖子类型中获取模块名称的帖子 slug
【发布时间】:2021-10-01 09:46:40
【问题描述】:

有一个名为 Post Modules 或 post-modules 的自定义帖子类型。我使用高级自定义字段创建了许多可重复使用的模块,以允许我在另一个 CPT 中插入内容。每个模块基本上都是一个帖子。

我想要做的是在 post-modules 中获取帖子的 slug 并将其显示为我的部分中的一个类。所以它会是这样的:

<section class="post-module-name"></section>

帖子的标题也可以接受。

所以我想出了以下内容:

<section class="toolkit-module scroll-section <?php echo $post->post_title; ?> <?php echo $module_type; ?>" data-index="<?php echo $i; ?>" data-module-id="<?php echo $module_id; ?>" data-module-type="<?php echo $module_type; ?>">Content Goes Here</section>

但这会拉出显示所有这些模块而不是模块段/名称本身的帖子的标题。

因此,如果我有一个名为“视频”的帖子,并且我有两个模块,比如说音乐视频和运动视频,我想将音乐视频合并到我的第一部分的课程中,并将运动视频合并到我的第二部分。

有什么方法可以从我实际从中提取数据的模块的帖子类型和名称中提取帖子 slug?

【问题讨论】:

    标签: php wordpress custom-post-type slug post-type


    【解决方案1】:

    查看 wp_query。您需要使用它来访问自定义帖子类型。

    https://developer.wordpress.org/reference/classes/wp_query/

    【讨论】:

      【解决方案2】:

      是的,如果您已经有一个 WP_Post 对象,您可以按如下方式使用它。

      echo $post->post_type; // Outputs the actual type of a WP_Post object
      echo $post->post_name; // Outputs the slug of the post;
      

      您可以查看here 的所有属性,在您的特定情况下,您需要类似以下内容:

      <section class="toolkit-module scroll-section <?php echo $post->post_name; ?> <?php echo $post->post_type; ?>" data-index="<?php echo $i; ?>" data-module-id="<?php echo $post->ID; ?>" data-module-type="<?php echo $post->post_type; ?>">Content Goes Here</section>
      

      【讨论】:

      • 不幸的是,这会拉取当前帖子的帖子类型和名称。我正在尝试提取 ACF 模块所在的帖子的帖子类型和名称。这是不同的。
      • 只要你有帖子的ID,你总是可以使用get_post得到这个值
      【解决方案3】:

      看起来如果我使用 php echo $module_id;我可以显示模块的 ID 号,它至少会显示一些独特的东西。除了使用 module_type 和 module_id 之外,我仍然找不到任何关于如何访问 ACF 模块的文档。

      【讨论】:

        【解决方案4】:

        找到了解决办法。这样做了。

        $module_slug = $module->post_name;
        

        然后显示它:

        <?php echo $module_slug; ?>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-04-04
          • 1970-01-01
          • 2017-01-31
          • 2014-02-08
          • 2016-04-27
          • 1970-01-01
          • 2015-11-09
          • 2017-02-28
          相关资源
          最近更新 更多