You are here:  Home » PHP » 如何在WordPress中创建自定义单个附件模板

自定义帖子类型支持的WordPress中创建总图库显示的过程中,我们共享了如何获取WordPress中除特色图像之外的所有帖子附件的代码。我们还向您展示了如何向WordPress Media上传器添加其他字段。在本文中,我们将向您展示如何使用媒体上传器中的其他字段并将其显示在自定义单个附件模板中。

在开始之前,了解模板层次结构如何为附件工作非常重要。您可以指定它mime_type.php。 Mime类型示例(image.php,video.php,application.php等)。要仅为某种图像类型指定它,您可以说image_gif.php。如果找不到mime_type.php,则查找attachment.php,然后查找singleattachment.php,然后查找single.php,然后查找index.php。

这取决于您工作的项目的自定义方式,您可能不需要创建image_gif.php。你可以简单地满足image.php甚至attachment.php。

您所要做的就是打开一个空白文件并复制所有文件single.php中在那里的内容。您可以将其保存为single-attachment.php或任何其他所需的mime_type。然后用这样的代码替换循环代码:

<?php
if ( have_posts() ) : while ( have_posts() ) : the_post();
$photographer = get_post_meta($post->ID, "be_photographer_name", true);
$photographerurl = get_post_meta($post->ID, "be_photographer_url", true);
?>

<h1><?php the_title(); ?></h1>

<div class="photometa"><span class="photographername"><?php echo $photographer; ?></span> // <a href="<?php echo $photographerurl ?>" target="_blank" class="photographerurl"><?php echo $photographerurl ?></a></div>

                        <div class="entry-attachment">
<?php if ( wp_attachment_is_image( $post->id ) ) : $att_image = wp_get_attachment_image_src( $post->id, "full"); ?>
                        <p class="attachment"><a href="<?php echo wp_get_attachment_url($post->id); ?>" title="<?php the_title(); ?>" rel="attachment"><img src="<?php echo $att_image[0];?>" width="<?php echo $att_image[1];?>" height="<?php echo $att_image[2];?>"  class="attachment-medium" alt="<?php $post->post_excerpt; ?>" /></a>
                        </p>
<?php else : ?>
                        <a href="<?php echo wp_get_attachment_url($post->ID) ?>" title="<?php echo wp_specialchars( get_the_title($post->ID), 1 ) ?>" rel="attachment"><?php echo basename($post->guid) ?></a>
<?php endif; ?>
                        </div>

<?php endwhile; ?>

<?php endif; ?>

上面的代码只显示图像标题。在它下面,它将显示我们在上一篇文章中作为附加字段添加的作者姓名和URL。然后它查找图像并显示完整大小。如果您有其他图像尺寸,可以自定义它以显示任何其他尺寸。

最终结果:

Single Attachment Example

资源:
模板层次结构法典

评论被关闭。