【问题标题】:How do I display media, URL's or PDF links with WordPress custom fields?如何使用 WordPress 自定义字段显示媒体、URL 或 PDF 链接?
【发布时间】:2016-05-27 05:59:14
【问题描述】:

我正在运行 WordPress 4.5.2、Twentysixteen 和一个名为“自定义字段模板”的插件。我希望充分利用 WordPress 的自定义字段,但不知道如何让它做更多的事情,而不仅仅是显示带有一些基本文本数据的 UL。

我想知道如何:

  • 显示图像(来自媒体库),

  • 一个活动链接,并且

  • 媒体文件的活动链接(例如,下载 PDF 手册)

我喜欢“自定义字段模板”插件,因为它非常易于安装、设置我需要的变量、干净且轻量级。以下是我目前所获得的一些屏幕截图(用于赛马联合网站 - 未上线):

This is the Custom Fields Template within WordPress' page edit screen.

This is the resulting code - prints image ID only.

我对修改 WordPress 的 .php 文件感到满意,但对 PHP 不够熟练,无法从头开始编写必要的函数。

任何帮助将不胜感激。

【问题讨论】:

  • 截图没什么用...请在您的问题中添加相关的php代码。
  • 嗨 Gerald,我没有很多现有的 php 可以提供。如前所述,我正在运行 WordPress 的标准 Twentysixteen 主题并正在试验它的自定义字段。所以这个主题已经支持一个简单的行,如下所示:the_meta();这一行 .php 采用自定义字段并将它们简单地呈现为纯文本 UL。我假设我需要以某种方式扩展该行以包含额外的功能。例如。识别页码,识别附件并将它们呈现为活动/可点击/等。这有意义吗?

标签: php wordpress pdf media custom-fields


【解决方案1】:

由于您没有提供足够的细节,我只能写一个非常笼统的答案。

你发现的函数the_meta()不属于主题,它是由WordPress核心提供的,你已经注意到它不是很可定制的,它的输出只能用CSS设置样式。

我假设这是您正在使用的插件:https://wordpress.org/plugins/custom-field-template/
基于该假设,您有以下可能性:

插件提供了短代码[cft],您可以在帖子本身的内容中使用。它的用法在插件说明中有所描述,但不多。

如果知道您想在每个帖子或每个特定帖子类型上显示此内容,您可以为此创建一个模板文件并使用do_shortcode() 直接调用短代码。

echo do_shortcode( "[cft]" );

如果您也不喜欢该短代码的输出,您可以address the custom fields directly

插件似乎没有向您显示它实际使用的字段名称,因此您需要自己找到它们。您可以通过查看数据库来做到这一点,您会在表 wp_postmeta 中找到它们,或者您将一些调试输出添加到您的模板文件中,如下所示:

$meta = get_post_custom( $post->ID );
var_dump( $meta );

这将显示当前帖子中的所有自定义字段。然后,您可以使用此数组打印您的值,或者使用 get_post_meta() 检索特定字段值。

最后但同样重要的是:您声明您使用的是默认主题 Twentysixteen。您不应编辑任何这些主题文件或自定义字段插件中的文件。下次更新它们时,您的所有更改都将丢失。相反,create a child theme 并在那里添加您的帖子模板。

【讨论】:

  • 感谢 Gerald - 很抱歉没有说得很具体,但您对我的帮助很大,只是为我指明了正确的方向。识别元标记应该让我更容易告诉他们我想让他们做什么!
【解决方案2】:

我刚刚看到这篇对初学者很有帮助的文章 - 它分解了我为实现我所追求的目标而需要采取的步骤: https://perishablepress.com/wordpress-custom-fields-tutorial/

这是我最终得到的下载和打印手册链接(使用任何自定义字段数据,即有和没有插件)。

<?php $imageid = get_post_meta($post->ID, 'Brochure', true); ?>
<a href="<?php echo wp_get_attachment_url( $imageid ); ?>" target="_blank">Download &amp; Print Brochure</a>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-02
    • 1970-01-01
    • 1970-01-01
    • 2014-07-31
    • 2014-08-02
    • 1970-01-01
    相关资源
    最近更新 更多