我正在构建我的第一个Wordpress主题。我在媒体附件方面遇到了麻烦。当我上传并成像并将其插入帖子时,它会显示图像。如果我将它链接到“媒体文件”,那么它也会在我点击时将我带到该文件。但是,如果我尝试链接到“附件页面”,它不会显示图像。我没有使用自定义'attachment.php',而是仅使用默认的'single.php'。这是single.php的代码:
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="post" id="post-<?php the_ID(); ?>">
<div>
<h2><?php the_title(); ?></h2>
<?php include (TEMPLATEPATH . '/inc/meta.php' ); ?>
<div class="entry">
<?php the_content(); ?>
<?php wp_link_pages(array('before' => 'Pages: ', 'next_or_number' => 'number')); ?>
</div>
<?php edit_post_link('Edit this entry.', '<p>', '</p>'); ?>
</div>
</div>
<?php // comments_template(); ?>
<?php endwhile; endif; ?>
</div> <!--main-content Ends-->
答案 0 :(得分:1)
@Zeeshan
您的single.php文档似乎没有适当的PHP代码来输出附件。尝试在循环中添加以下代码,无论您希望在何处显示附件内容:
<?php if(wp_attachment_is_image($post->id)) : $att_image = wp_get_attachment_image_src($post->id, "full"); ?>
<p class="attachment"><a class="show_image" href="<?php echo wp_get_attachment_url($post->id); ?>" title="<?php echo get_the_title(); ?>"><img class="img-responsive attachment-medium" src="<?php echo $att_image[0]; ?>" height="<?php echo $att_image[2];?>" width="<?php echo $att_image[1];?>" alt="<?php echo get_the_title(); ?>"></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 ) ?>"><?php echo basename($post->guid) ?></a>
<?php endif; ?>
此代码适用于最新的3.x CORE,但也有旧版本的后备版。
如果提供,the_content()
功能输出媒体描述。
附件页面的范围从简单地使用attachment.php文件到几乎其他十几个模板文件。
http://codex.wordpress.org/Template_Hierarchy#Attachment_display
附件显示
用于呈现单个附件(附件后置型)页面的模板文件。
您可以为附件设置mime类型特定模板。例如,在我的博客上,我有一个JavaScript Meetup的快照,使用mime类型特定的image.php附件模板来处理图像附件。
因此,如果您处理图像,那么我建议您创建一个image.php文件并将其放入您的主题文件夹中并开始工作。
答案 1 :(得分:0)
你的问题不够明确!!
当您上传插入图片到帖子时,它会自动链接到该图像,如下所示:
<a href="http://localhost/wordpress_works/Cassiopeia-Bouviers/wp-content/uploads/2013/11/1.png">
<img class="alignnone size-medium wp-image-86" alt="1" src="http://localhost/wordpress_works/Cassiopeia-Bouviers/wp-content/uploads/2013/11/1-300x175.png" width="300" height="175" />
</a>
但您可以通过编辑默认链接来提供自定义链接!
答案 2 :(得分:0)
我建议添加jetpack插件并使用它的一些内置功能来处理图像!它们不仅可以解决您的问题,还可以提供更多选项,如轮播或马赛克视图。