WordPress如何通过自定义代码实现PDF文件嵌入与查看
WordPress 归档页链接跳转PDF实现方案
你的需求是将归档页的文章链接从默认的单篇文章地址替换为关联的PDF地址,可通过以下两种方案实现:
- 方案1:手动指定每篇文章对应的PDF地址(灵活性高,可关联外部PDF)
- 进入WordPress后台文章编辑页,开启右上角「选项」中的「自定义字段」显示
- 新增自定义字段,字段名设置为
attachment_pdf_url,字段值填写对应PDF的完整访问地址,保存文章 - 替换归档页模板中原有的代码为如下内容:
<?php // 获取自定义字段存储的PDF地址 $pdf_url = get_post_meta(get_the_ID(), 'attachment_pdf_url', true); // 未设置PDF时默认跳转原文章链接,避免出现无效链接 $link_url = $pdf_url ? $pdf_url : get_permalink(); ?> <a href="<?php echo esc_url($link_url); ?>" target="_blank"> <?php the_post_thumbnail(); ?> <?php the_title(); ?> </a> - 方案2:自动关联文章上传的第一个PDF附件(无需手动填字段,适合PDF全部上传到站点媒体库的场景)
直接替换归档页模板代码为如下内容即可:<?php // 查询当前文章下上传的第一个PDF附件 $pdf_args = array( 'post_type' => 'attachment', 'post_mime_type' => 'application/pdf', 'post_parent' => get_the_ID(), 'posts_per_page' => 1 ); $pdf_attachments = get_posts($pdf_args); $link_url = get_permalink(); if (!empty($pdf_attachments)) { $link_url = wp_get_attachment_url($pdf_attachments[0]->ID); } ?> <a href="<?php echo esc_url($link_url); ?>" target="_blank"> <?php the_post_thumbnail(); ?> <?php the_title(); ?> </a>
补充说明
- 代码中的
target="_blank"作用是点击链接后新标签页打开PDF,不需要该效果可直接删除该属性 - 大部分现代浏览器默认支持直接在线预览PDF文件,无需额外添加预览代码,用户点击链接后会直接唤起浏览器内置的PDF阅读器查看内容
内容的提问来源于stack exchange,提问作者lei
相关产品推荐
相关产品推荐

