根据摘录/单篇文章视图的动态图像链接

时间:2011-07-31 作者:Jayhal

我正在研究一个新的Wordpress主题;默认索引视图显示最近帖子的摘录。一些帖子将介绍文件下载,包括图像、描述和指向所描述文件所在位置的链接。这些类型的帖子的图像将通过链接锚定(其他类型的帖子可能包含未链接的图像)。

对于这些类型的帖子,我希望在摘录中显示时,图像链接到其条目的完整帖子视图(single.php),但在作为完整帖子视图的一部分显示时,相同的图像链接到外部下载链接。(指向外部url的链接指向承载文件的另一个页面,而不是直接指向实际文件。)

我不确定我到底要如何做到这一点。任何帮助都将不胜感激!

1 个回复
最合适的回答,由SO网友:Jayhal 整理而成

因为我没有定义帖子缩略图,而且帖子可能包含也可能不包含多个图像,所以我最终这样做:

我关闭了摘录中的标签(我有一个在摘录中启用标签的摘录插件),然后我在函数中添加了以下内容。php文件:

function catch_that_image() {  
    global $post, $posts;  

    $first_img = \'\';  ob_start();  
    ob_end_clean();  

    $output = preg_match_all(\'/<img.+src=[\\\'"]([^\\\'"]+)[\\\'"].*>/i\', 


    $post->post_content, $matches);  

    $first_img = $matches [1] [0];  
    if(empty($first_img)){ 
    //Defines a default image    
    $first_img = "/images/default.jpg";  }  
    return $first_img;}
然后,我在帖子标题和摘录/内容之间的主索引模板文件中添加了以下内容:

<p><a href="<?php the_permalink() ?>" alt="<?php _e(\'Read full article\', \'theme\');?>" title="<?php _e(\'Read full article\', \'theme\');?>"><img src="<?php echo catch_that_image() ?>"></a></p>    
随机注释:出于造型原因,它被包装在a中。

再次感谢Thanx为我指引了正确的方向。

结束

相关推荐

Resizing all images

我刚刚更改了博客的主题,由于页面宽度很小,它打破了布局。我之前的大多数图片(附在帖子中)的宽度都在600px左右,现在我需要按450px的比例调整它们的大小。如何一次性调整它们的大小?有这个插件吗?P、 美国:编写CSS规则是一个很好的选择,我已经做到了。但我认为调整图像大小也会减少每个页面的下载开销!