Pods: WP 4.7.1 PDF Thumbnails {@_src} 处理程序的错误通过 pods_image_url 附加图像后缀

创建于 2017-03-09  ·  26评论  ·  资料来源: pods-framework/pods

我有一个带有文件/图像/视频字段的 Pod 设置。

当用户在 CPT 中添加内容并将 PDF 上传到该字段时,生成的 URL 会在文件上显示 .jpg 扩展名而不是 .PDF(因此单击时在浏览器中显示 jpg 缩略图,而不是链接到 PDF)

例如:我要显示的文件是
DMB-170119_17-000154-01-08.pdf

但生成的 URL 以
DMB-170119_17-000154-01-08-pdf.jpg

这仅适用于已在 WP 4.7 中上传的 PDF,其中已生成缩略图。 在 4.7 之前上传的 PDF(对于 PDF 文件仍然具有通用的 WP 灰色图标)在 URL 中具有正确的 .pdf 文件扩展名。

TemplateMagic Tags Reproduced Bug

所有26条评论

忘记截图了。 这是我的 Pod 字段设置、Pod 模板和一些输出。

voila_capture 2017-03-08_05-52-35_pm2
voila_capture 2017-03-08_05-53-35_pm
voila_capture 2017-03-08_05-59-21_pm

看起来我们需要一个更好的处理程序来处理附件文件的非图像链接。

https://github.com/pods-framework/pods/blob/2.x/classes/Pods.php#L1452

现在_src_src.{size}通过pods_image_url()函数。

我不是想成为害虫,只是想知道这是否有任何动向。 我自己不是插件开发人员,只是从 WP 论坛被引导到这里以获得一些关注。

对此没有任何进展,我们一直在努力准备 Pods 2.7 的 Beta 版。 我会将此添加到我的列表中,以便在未来几天有空闲时间时返回。

@portlandian您也许可以使用 #3376 中的解决方法,将附加文件的 ID 传递给函数并使用https://codex.wordpress.org/Function_Reference/wp_get_attachment_url对其进行处理,即:

{@test_result_pdf.ID,wp_get_attachment_url}

@波特兰迪安
只是想知道,你为什么不只使用{@test_result_pdf}
当我在这里测试时,这将返回 PDF url。 不需要附加._src或任何东西。

fulllarge这样的术语都是与图像类型相关的,它们只是显示出来,因为它是一个通用的 Pods 文件字段。 对于图像以外的字段类型,您不需要它们。

@sc0ttkclark
谢谢及时回复,期待2.7

@jimtrue
感谢您的解决方法。 我不知道。 幸运的是我不需要,因为...

@JoryHogeveen
只是因为我不知道那会起作用。 每当我使用模板时,我只参考http://pods.io/docs/build/using-magic-tags/ ,而且我从未在关于获取文件 URL 的标签的部分中看到这一点。 如果它在那里而我错过了它,我的错,但也许解决该部分中的非图像文件可能是一个好主意。 我已经更改了我的模板以使用该标签,现在它可以工作了。 问题解决了。

你们太棒了!

@portlandian很高兴听到你成功了!

也许解决该部分中的非图像文件可能是一个好主意。

@jimtrue确实可能是个好主意! :)

好点,但是有人会认为@_src只会获取文件 URL。 基本上不使用任何一个,只需将标签本身用于文件,您就可以正常获得“文件输出”。 如果您有多个文件并且需要 [每个图像文件][/每个] 通过它们,我不确定这是否可行,因为在这一点上,除了 {@_src} 之外,没有“标签”可以调用 URL,所以我们仍然需要解决和修复该输出。 这仍然是一个错误。

具体来自斯科特的笔记:
看起来我们需要一个更好的处理程序来处理附件文件的非图像链接。

https://github.com/pods-framework/pods/blob/2.x/classes/Pods.php#L1452

现在 _src 和 _src.{size} 通过 pods_image_url() 函数。

@jimtrue
关于每个循环的很好的观点。 #4111 修复了这个问题。

@sc0ttkclark注意:我已经针对 2.x 进行了 PR。

哦还有@jimtrue
在 PR 中发表评论(可能是文档的内容)

从 WP 4.7 开始,当使用带有 PDF 附件的简码时,._src 会返回一个图像。
使用此修复程序,它将返回 PDF url。
使用 ._src.image_size 或 ._img 仍然可以获取 PDF 生成的图像 (WP 4.7) 图像。

著名的!! 我会将它们添加到旧文档和新文档中

这已在 #4111 中修复

@JoryHogeveen @pglewis不幸的是,这仍然是坏的。 我可以确认 {@_src} 仍在提供重新生成的 PDF 缩略图的链接。

请从以下位置查看此票证中的对话: https :

这似乎与创建 PDF 缩略图的主机有关。 My Local by Flywheel 没有这样做,所以它正确链接到 PDF 文件,但在 WPEngine(它会生成缩略图)上,{@_src} 标签指向 _only_ 图像缩略图,而不是 PDF。 很烦人。

@brian-milnes 提供了一个非常好的解决方法,可以正确处理正确的 PDF,所以也许这是我们的 _img 和 _src 处理程序中的问题:

我们做了一个解决方法使用
{<strong i="14">@ID</strong>,wp_get_attachment_url}

如果是环境问题,我们应该先创建一个类似的环境进行复制。
例如,我知道 WP Engine 有它自己的必备插件。
我们可以列一个清单吗?

@JoryHogeveen我认为问题可能在于我们仍在通过 {@_src} 的“图像”处理程序; 我不确定为什么 WordPress 会优先考虑 PDF 的缩略图视图而不是 PDF 本身,但也许这是我们需要 {@_file} 标签的情况之一,如果 {@_src} 被路由通过pods_image_url。 我们需要一种方法将它们路由到 get_attachment_url。

我很擅长制作一个列表,只是不知道为文件附件创建一个新标签是否有意义(因为我猜我们也会在其他文件中遇到这个问题)或者我们需要让 _src {@_src} 更智能。

我的直觉:{@_img}、_img 和任何 _src.size 应该返回图像缩略图。 _src 应始终返回文件 URL。

@sc0ttkclark想法?

哦,在测试环境中,是的,我们有一个带有 themer.pods.io 的,或者我们可以在 pods.io WPEngine 主机上启动另一个,如果这有帮助的话@JoryHogeveen

现在正确的链接#4964 - 也是一个很好的例子!

嗯,现在似乎 {@_src} 和 {@permalink} 在 [each] 中都不起作用:/

@quasel提供您的模板示例? 我一直这样做,现在有几个工作得很好。

只是为了确认,图像处理程序在最近几个版本中发生了变化。 这是一个活跃的问题吗?
@quasel你有一个可以检查的快速测试吗?

只是为了确认,图像处理程序在最近几个版本中发生了变化。 这是一个活跃的问题吗?
@quasel你有一个可以检查的快速测试吗?

从 2.7.22 开始,这仍然是一个问题,我暂时更新了我的模板代码 /w 解决方法,但它仍在尝试链接 PDF 的缩略图。

但它仍在尝试链接 PDF 的缩略图。

@zushiba “尝试”是什么意思? 你能分享一个输出不正确的用例吗?

但它仍在尝试链接 PDF 的缩略图。

@zushiba “尝试”是什么意思? 你能分享一个输出不正确的用例吗?
我有一个多文件上传字段,我的用户使用它来上传 PDF 文档,然后通过以下模板将其列出到页面中。

<h1>{@post_title}</h1>
<ul>
[if form_files]
[each form_files]
<li><a href="{@_src}">{@post_title}</a></li>
[/each]
[/if]
</ul>

今天上传 2 个 PDF 时,我的一位用户发现上传他们的 PDF 时,页面上的结果链接转到了 PDF 的 .jpg 缩略图,而不是实际的 PDF。 我能够确认 PDF 正在上传到服务器,并且在 pod 项目的仪表板界面中,它链接到正确的文件,但链接本身将转到 jpg 缩略图。

问题已在 #5854 中修复
如果用户想测试这个补丁那就太好了!

此页面是否有帮助?
0 / 5 - 0 等级