【发布时间】:2014-05-11 18:21:18
【问题描述】:
我觉得这个问题有一个非常简单的解决方案。但是,在尝试解决了大约 3 个小时没有成功后,我虚心地来找你。
基础知识:
- 已创建自定义帖子类型“band”,并包含多个 自定义字段(通过 Advanced Custom Fields 创建 插件。)
问题:
我如何获取和显示特定 band 条目的内容(特别是自定义字段数据)(使用其 ID 或 title 或 slug) inside 的常规帖子? (见下文diagram)
(来源:thisnewband.com)
.
触发自定义帖子类型显示的方法:
我们必须提供 ID/标题/slug 以便它知道 乐队 要显示的帖子内容
- 短代码(例如
[band id="21"])(添加到帖子内容中) - 自定义字段(自定义字段名称
band-id,您可以在其中输入乐队的ID)
我尝试了什么以及为什么它不起作用:
-
简码
- `[band id="21"] 在帖子编辑器字段中插入
- 使用
WP_Query查询 type=band 和 ID="21" 的帖子。 - 代码位于
functions.php - 结果:它会回显静态文本,但不会显示任何特定于帖子的内容(乐队名称等)。也不会提取特定于帖子的自定义字段数据。
- (也尝试过
query_post,但没有成功)
-
自定义字段
- 在帖子编辑器页面的自定义字段中输入了 ID (21)。
- 直接将其编码到帖子模板中:
- 使用
WP_Query并从自定义字段中提取数组中的ID。
- 使用
- 结果:没有发生任何好事。
我一直遇到麻烦的地方:
- 在实际帖子中很难从自定义帖子类型中提取自定义字段数据
最佳解决方案:
无论是使用简码、自定义字段还是新的小部件,如果可以的话,这将是最简单的:
- 使用代码创建一个 PHP 模板,以说明单个 Band 内容应该如何显示。 (包括循环)。示例名称:band-block.php
- 使用
get_template_part('band-block');回显此代码(在帖子模板中或通过functions.php 的简码)
感谢您的帮助!如果您想查看我的任何代码,请告诉我。
【问题讨论】:
标签: custom-post-type wordpress advanced-custom-fields