这是我的问题。我希望所有缩略图链接到帖子
除了single.php中的主循环缩略图以链接到外部网站
但也是在single.php中第二个循环“相关的帖子缩略图”链接到帖子
下面的“代码A”只能完成前2个目标。 如何在single.php“相关帖子缩略图”中进行第二次循环以链接到帖子(而不是外部网站)?
我正在使用:
the_post_thumbnail('large') for main loop in single.php
the_post_thumbnail('thumbnail') for second loop in single.php
the_post_thumbnail('medium') for everything else
。
“代码A”:所有缩略图链接到帖子,除了缩写在single.php链接到外部网站
function my_post_image_html( $html, $post_id, $post_image_id ) {
if ( is_single() ) {
$name = get_post_meta($post_id, 'externalurl', true);
if( $name ) {
$html = '<a href="'.$name.'" title="' . esc_attr( get_the_title( $post_id ) ) . '">' . $html . '</a>';
}
return $html;
}
else
{
$html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_the_title( $post_id ) ) . '">' . $html . '</a>';
return $html;
}
}
add_filter( 'post_thumbnail_html', 'my_post_image_html', 10, 3 );
。
“Code B”:single.php中的第二个循环“相关帖子缩略图”
<?php
$args = array(
'posts_per_page' => 6,
'orderby' => rand
);
$the_query = new WP_Query( $args );
?>
<?php while ($the_query -> have_posts()) : $the_query -> the_post(); ?>
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>" ><?php the_post_thumbnail('thumbnail'); ?></a>
<a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
<?php endwhile;?>
<?php wp_reset_postdata(); ?>
答案 0 :(得分:0)
第二遍,您的代码在我的系统上正常运行。永久链接是正确的。但是,有一个额外的&#34;)&#34;在你的第二个循环中:
<?php the_post_thumbnail('thumbnail') ); ?>
尝试删除它,看看情况是否有所改善。
编辑:
添加第四个参数:
function my_post_image_html( $html, $post_id, $post_image_id, $size ) {
if ( $size == 'large' ) {
echo 'large';
}
}
add_filter( 'post_thumbnail_html', 'my_post_image_html', 10, 4 );
此外,在您的第二个lop中,将您要求的大小从缩略图更改为大:
<?php the_post_thumbnail('large'); ?>