我想显示帖子的缩略图。如果用户单击缩略图,则会将其定向到该帖子。但是当点击它时我得到403 ERROR。我是php的新手是什么问题?
PHP
<?php
query_posts('cat=5');
while (have_posts()) : the_post();
the_title();
echo '<a href="<?php the_permalink();?>">';
the_post_thumbnail();
echo '</a>';
endwhile;
?>
答案 0 :(得分:2)
您的功能永远不会被解释,它被视为文本,您可以写:
echo '<a href='.the_permalink().'>';
答案 1 :(得分:1)
<?php the_permalink();?>
显示当前正在The Loop中处理的帖子的永久链接的URL。此标记必须位于“循环”中,并且通常用于在显示帖子时显示每个帖子的永久链接。由于此模板标记仅限于显示正在处理的帖子的永久链接,因此您无法使用它来显示网络日志中任意帖子的永久链接。如果你想获得帖子的固定链接,请参阅get_permalink(),因为它有唯一的帖子ID。
<?php echo get_permalink(1); ?>
答案 2 :(得分:1)
我认为这可能是你的语法。
尝试更改:echo '<a href="<?php the_permalink();?>">';
至:echo '<a href="';
the_permalink();
echo '"';
原因是你正在尝试重新初始化php,即使你已经使用echo已经启动了语法。所以你不需要<?php ?>
答案 3 :(得分:1)
只需替换您的代码
echo '<a href="<?php the_permalink();?>">';
TO:
<a href="<?= the_permalink();?>">
您的代码将是:
<?php
query_posts('cat=5');
while (have_posts()) : the_post();
the_title();
?>
<a href="<?= the_permalink();?>"><?= the_post_thumbnail(); ?></a>
<?php
endwhile;
?>
答案 4 :(得分:0)
您在本节中有误:
echo '<a href="<?php the_permalink();?>">';
将此行替换为:
echo '<a href="' . the_permalink() . '">';
不要使用短回声<?=...?>
,它可以由您的托管服务提供商关闭。
the_permalink()
函数已经有echo
,所以你不应该放第二个echo
。
function the_permalink() {
/**
* Filter the display of the permalink for the current post.
*
* @since 1.5.0
*
* @param string $permalink The permalink for the current post.
*/
echo esc_url( apply_filters( 'the_permalink', get_permalink() ) );
}