我正在从头开发一个Wordpress自定义主题。我已经设法在index.php中使用自定义网格显示。每个帖子都会显示一个图片,其中帖子的标题和类别为副标题。这是index.php代码:
<?php get_header(); ?>
<div class="container-fluid bg-3 text-center Site-content" style="padding:60px; padding-top:100px;">
<?php
$counter = 1; //start counter
$grids = 2; //Grids per row
query_posts($query_string . '&caller_get_posts=1&posts_per_page=12');
if (have_posts()) : while (have_posts()) : the_post();
?>
<?php
//Show the left hand side column
if ($counter == 1) :
?>
<div class="col-sm-4">
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
<img src="<?php the_post_thumbnail_url(); ?>" class="img-responsive" style="width:100%;" alt=""></a>
<strong><?php the_title(); ?></strong>
<?php
foreach ((get_the_category()) as $category) {
echo "<h6>".$category->category_nicename. "</h6>";
}
?>
</div>
<?php
//Show the right hand side column
elseif ($counter == $grids) :
?>
<div class="col-sm-4">
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
<img src="<?php the_post_thumbnail_url(); ?>" class="img-responsive" style="width:100%;" alt=""></a>
<strong><?php the_title(); ?></strong>
<?php
// heres just the name and permalink:
foreach ((get_the_category()) as $category) {
echo "<h6>".$category->category_nicename. "</h6>";
}
?>
</div>
<?php
$counter = 0;
endif;
?>
<?php
$counter++;
endwhile;
endif;
?>
</div>
<?php get_footer(); ?>
帖子的缩略图包含指向帖子永久链接的链接,该链接应链接到content.php。这是content.php:
<div class="container" style="padding:100px;">
<strong><?php the_title(); ?></strong>
<?php
foreach ((get_the_category()) as $category) {
echo "<h5>" . $category->category_nicename . "</h5>";
}
?>
<h5> / <?php the_date(); ?> </h5>
<h5> <?php the_content(); ?> </h5>
</div>
问题是,当我点击index.php缩略图时,它会链接到自身的较小版本,而不是content.php页面。我的猜测是我需要告诉固定链接去哪里,但我真的找不到这个配置的位置。
谢谢!
答案 0 :(得分:1)
在WordPress中,the_permalink()
或get_permalink()
会返回帖子或页面的单页网址。这是一个WordPress template hierarchy,单个帖子页面将加载single.php
文件。
你有两个选择,
1)将您的代码从content.php
复制到single.php
,您就可以开始了。当然,您需要包含get_header()
和get_footer()
才能正确加载页面。
2)在循环内的single.php
中,您可以包含content.php
作为模板部分。以下内容位于single.php
,替换循环。
while ( have_posts() ) :
the_post();
get_template_part( 'content' );
endwhile;
此外,在上面的代码中,我假设您的content.php
位于主题目录根目录中。