您好我正在尝试将以下代码链接到WordPress主题中的关联帖子。我希望旋转木马标题转到正确的帖子。我有一个自定义查询,使用幻灯片标签将帖子添加到轮播。我尝试了以下代码的不同变体,由于某种原因,我只能获得Carousel标题中的链接以返回主题的主页。如果有人能指出我正确的方向来获得帖子标题链接回帖子我会很感激帮助。
这是我的代码。我错过了什么?
<?php
$slides = array();
$args = array( 'tag' => 'slide', 'nopaging'=>true, 'posts_per_page'=>5 );
$slider_query = new WP_Query( $args );
if ( $slider_query->have_posts() ) {
while ( $slider_query->have_posts() ) {
$slider_query->the_post();
if(has_post_thumbnail()){
$temp = array();
$thumb_id = get_post_thumbnail_id();
$thumb_url_array = wp_get_attachment_image_src($thumb_id, 'full', true);
$thumb_url = $thumb_url_array[0];
$temp['title'] = get_the_title();
$temp['excerpt'] = get_the_excerpt();
$temp['image'] = $thumb_url;
$slides[] = $temp;
}
}
}
wp_reset_postdata();
?>
<?php if(count($slides) > 0) { ?>
<div id="carousel-example-generic" class="carousel-slide" data-ride="carousel">
<div class="carousel-inner" role="listbox">
<ol class="carousel-indicators">
<?php for($i=0;$i<count($slides);$i++) { ?>
<li data-target="#carousel-example-generic" data-slide-to="<?php echo $i ?>" <?php if($i==0) { ?>class="active"<?php } ?>></li>
<?php } ?>
</ol>
<?php $i=0; foreach($slides as $slide) { extract($slide); ?>
<div class="item <?php if($i == 0) { ?>active<?php } ?>">
<img src="<?php echo $image ?>" alt="<?php echo esc_attr($title); ?>">
<div class="carousel-caption"><h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3><p><?php echo $excerpt; ?></p></div>
</div>
<?php $i++; } ?>
</div>
</div>
</div>
<?php } ?>
答案 0 :(得分:0)
要获得自定义帖子类型的永久链接,您可以使用get_post_permalink($id)
。
如果你在The Loop中使用它,请改用get_permalink()
。
get_post_permalink() documentation:
get_post_permalink( int $id, bool $leavename = false, bool $sample = false )
检索自定义帖子类型的帖子的永久链接。
get_permalink() documentation:
get_permalink(int | WP_Post $ post,bool $ leavename = false)
检索当前帖子或帖子ID的完整永久链接。