对于我正在研究的网站,我试图对令人兴奋的wordpress主题(revera)进行一些修改。原始代码在存档页面上显示帖子,仅包含缩略图图像和帖子标题。以下是原始代码:
<?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
<article class="col-sm-3 col-6 portbox post">
<?php $thumb = get_post_thumbnail_id(); $img_url = wp_get_attachment_url( $thumb,'full' ); //get full URL to image (use "large" or "medium" if the images too big) $image = aq_resize( $img_url, 750, 500, true ); //resize & crop the image ?>
<?php if($image) : ?> <div class="hthumb"> <a href="<?php the_permalink(); ?>"><img class="img-responsive" src="<?php echo $image ?>"/></a> </div> <?php endif; ?> <h3><a href="<?php the_permalink(); ?>"> <?php the_title(); ?></a></h3>
</article>
<?php endwhile; ?>
现在我在archive.php中创建了一个if / else语句(如下所示),因此某些特定类别的存档页面显示的是除上述代码之外的其他代码。
现在,问题是归档文件不再正确显示原始代码(归档页面)。我所做的else if语句的代码如下(错误应该在“else”之后的部分中):
<?php
if ( is_category( 'producten-diensten' ) ) {
echo'
the code for producten-diensten category ';
} else {
//everything else
while ($wp_query->have_posts()) :
$wp_query->the_post();
echo'<article class="col-sm-3 col-6 portbox post">';
$thumb = get_post_thumbnail_id();
$img_url = wp_get_attachment_url( $thumb,'full' ); //get full URL to image (use "large" or "medium" if the images too big)
$image = aq_resize( $img_url, 750, 500, true ); //resize & crop the image
if($image) : ;
echo'<div class="hthumb"><a href="' . the_permalink() . '"><img class="img-responsive" src="' . $image . '"/></a></div>';
endif;
echo'<h3><a href="' . the_permalink() . '">' . the_title() . '</a></h3>';
echo'</article>';
endwhile;
}?>
页面(http://tinyurl.com/of2xslw)正确显示缩略图,但缩略图上方显示缩略图应链接的单个帖子的网址。缩略图链接到存档页面而不是单个帖子页面,帖子的标题(单个帖子的永久链接)不显示在缩略图下方。而不是那样,一个奇怪的网址出现了。该页面应如下所示
这里出了什么问题?我希望有人可以帮助我。
答案 0 :(得分:1)
这很简单:
你不应该回应the_permalink()和the_title(),因为它们已经回应了它们各自的结果:
<?php
if ( is_category( 'producten-diensten' ) ) {
echo'
the code for producten-diensten category ';
} else {
//everything else
while ($wp_query->have_posts()) :
$wp_query->the_post();
echo'<article class="col-sm-3 col-6 portbox post">';
$thumb = get_post_thumbnail_id();
$img_url = wp_get_attachment_url( $thumb,'full' ); //get full URL to image (use "large" or "medium" if the images too big)
$image = aq_resize( $img_url, 750, 500, true ); //resize & crop the image
if($image) : ?>
<div class="hthumb"><a href="<?php the_permalink(); ?>"><img class="img-responsive" src="<?php echo $image; ?>"/></a></div>';
<?php endif;?>
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<?php echo'</article>';
endwhile;
}?>
注意代码可能无效,因为我没有库aq_resize,因此我无法正确测试它。
答案 1 :(得分:0)
最终正确的代码是(感谢nunorbatista):
<?php
if ( is_category( 'producten-diensten' ) ) {
echo'
the code for producten-diensten category ';
} else {
//everything else
while ($wp_query->have_posts()) :
$wp_query->the_post();
echo'<article class="col-sm-3 col-6 portbox post">';
$thumb = get_post_thumbnail_id();
$img_url = wp_get_attachment_url( $thumb,'full' ); //get full URL to image (use "large" or "medium" if the images too big)
$image = aq_resize( $img_url, 750, 500, true ); //resize & crop the image
if($image) : ?>
<div class="hthumb"><a href="<?php the_permalink(); ?>"><img class="img-responsive" src="<?php echo $image; ?>"/></a></div>';
<?php endif;?>
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<?php echo'</article>';
endwhile;
}?>