You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

构建WordPress永久链接:预建站添加WordPress博客页面技术问询

配置WordPress永久链接实现博客列表与文章页跳转

嘿,看起来你已经搞定了博客列表的循环分页,现在就差把永久链接配置好,让标题能跳转到单篇文章,同时分页链接也正常工作对吧?我给你一步步讲怎么弄:

第一步:后台设置永久链接结构

首先得在WordPress后台调整永久链接的全局设置,这是基础:

  • 登录你的WordPress后台,进入「设置」->「永久链接」
  • 推荐选择「自定义结构」,输入适合你博客的格式,比如 /blog/%postname%/ —— 这样单篇文章的URL会是 你的域名/blog/文章标题/,列表页的分页URL会是 你的域名/blog/page/2/ 这种,结构清晰还利于SEO
  • 选好后点击「保存更改」,WordPress会自动生成对应的重写规则(如果服务器支持的话)

第二步:在循环中输出正确的文章标题链接

你已经有了列表循环的代码,现在只要在循环里把文章标题包裹上正确的链接就行:
在循环的文章标题部分替换成这样的代码:

<h2 class="post-title">
    <a href="<?php echo get_permalink(); ?>"><?php the_title(); ?></a>
</h2>

或者更简洁的写法,直接用the_permalink()函数自动输出链接:

<h2 class="post-title">
    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</h2>

get_permalink()会根据你刚才设置的永久链接结构,生成当前文章的完整URL,点击后就能直接跳转到单篇文章页面。

第三步:确保分页链接正常工作

你的循环里已经用到了paged参数,现在要让分页的「上一页/下一页」或者数字分页链接也符合永久链接结构,推荐用WordPress自带的paginate_links()函数:
在你的循环结束后(也就是<?php endwhile; ?>之后)添加这段代码:

<?php
// 获取当前查询的总页数
$total_pages = $wp_query->max_num_pages;

if ($total_pages > 1) {
    $current_page = max(1, get_query_var('paged'));
    echo paginate_links(array(
        'base' => get_pagenum_link(1) . '%_%',
        'format' => 'page/%#%/', // 这里要和你设置的永久链接结构匹配
        'current' => $current_page,
        'total' => $total_pages,
        'prev_text' => '上一页',
        'next_text' => '下一页'
    ));
}
?>

这里的format参数要和你后台设置的分页URL格式对应,比如你后台设置的自定义结构是/blog/%postname%/,那分页URL就会自动生成为/blog/page/2/,完全匹配你的永久链接规则。

一些注意事项

  • 如果你用的是Apache服务器,要确保根目录的.htaccess文件有WordPress自动生成的重写规则(保存永久链接设置后会自动添加,如果没有的话可以手动复制后台给出的规则)
  • 如果你用的是Nginx服务器,需要在Nginx配置文件里添加对应的重写规则,比如:
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    
  • 确保你的主题模板里有wp_head()函数(一般在header.php里),WordPress需要这个函数来输出永久链接的相关rel规则,保证链接的正确性

内容的提问来源于stack exchange,提问作者ThePiedPhper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 10:08:31