将缩略图链接到全尺寸图像

时间:2011-05-15 作者:nessie

我在我的博客(getImage)中使用一个函数来调用循环中的缩略图(它调用文章中的第一个图像),但我希望缩略图链接到其完整的图像src,而不是链接到文章。

功能如下:

function getImages($num) {
global $more;
$more = 1;
$link = get_permalink(); -> NO IDEA IF HAS ANY SENSE BUT I ALREADY TRIED TO CHANGE THIS ONE TO GET_ATTACHMENT BUT NO LUCK
$content = get_the_content();
$count = substr_count($content, \'<img\');
$start = 0;
for($i=1;$i<=$count;$i++) {
$imgBeg = strpos($content, \'<img\', $start);
$post = substr($content, $imgBeg);
$imgEnd = strpos($post, \'>\');
$postOutput = substr($post, 0, $imgEnd+1);
$postOutput = preg_replace(\'/width="([0-9]*)" height="([0-9]*)"/\', \'/width="150"/\',$postOutput);
$postOutput = preg_replace(\'/alignright/\', \'aligncenter\',$postOutput);
$image[$i] = $postOutput;
}
if(stristr($image[$num],\'<img\')) { echo \'<a href="\'.$link.\'">\'.$image[$num]."</a>"; }
$more = 0;}
有人知道我该怎么做吗?或其他功能来实现这一点?

谢谢

2 个回复
SO网友:kaiser

简单使用wp_get_attachment_url($GLOBALS[\'post\']->ID); 而不是get_permalink();

SO网友:nessie

哦,当然,我所做的就是:我添加了另一个函数

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;
}
我在$link行调用它,在getimages函数中。

$link = catch_that_image();
嗯,很乱,所以我会试试你的建议,看看其中有没有可行的,谢谢。

结束

相关推荐

获取在Functions.php中设置的变量,并在我的Custom Post模板中回显它们

在我的函数中设置了以下函数。php文件,以允许我的自定义帖子类型“Slideshow”工作。add_action( \'the_post\', \'paginate_slide\' ); function paginate_slide( $post ) { global $pages, $multipage, $numpages; if( is_single() && get_post_type() == \'lom_s