如何使用WordPress自定义字段显示媒体,URL或PDF链接?

时间:2016-05-27 05:59:14

标签: php wordpress pdf media custom-fields

我正在运行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编写的必要功能不够流畅。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

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

您找到的函数the_meta()不属于主题,它由WordPress核心提供,并且您已经注意到它不是非常可自定义的,它的输出只能用CSS设置样式。< / p>

我认为这是您正在使用的插件: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并在那里添加您的帖子模板。

答案 1 :(得分:0)

我刚刚为初学者看过这篇非常有用的文章 - 它打破了我需要采取的步骤来实现我的目标: https://perishablepress.com/wordpress-custom-fields-tutorial/

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

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