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

WordPress自定义文章single页slug正确但固定链接始终返回首篇文章求助

问题根因

你在single.php中没有使用WordPress默认的主循环(该循环会自动根据当前访问URL的slug、ID参数匹配对应的目标文章),而是自行新建了WP_Query查询,该查询的条件固定为按倒序拉取1篇对应语言的自定义文章,完全不关联当前访问的文章信息,因此无论打开哪篇文章的固定链接,只会返回对应语言下最新的那篇文章内容。

修复方案

1. 替换single.php的查询逻辑

删除自定义的WP_Query代码,改用WordPress原生主循环即可,修改后的完整代码如下:

<?php $lang = substr(get_locale(), 0, 2) ?>
<html lang="<? echo $lang ?>">
<?php
get_header(); ?>
<div class="section2">
</div>
<?php 
// 原生主循环自动匹配当前URL对应的文章
if ( have_posts() ) :
    while ( have_posts() ) : the_post();
        if ($lang == "en") :
            get_template_part( 'template-parts/content', 'single' );
        elseif ($lang == "fr") :
            get_template_part( 'template-parts/content', 'single2' );
        endif;

        if( comments_open() || get_comments_number() ):
            comments_template();
        endif;
    endwhile;
endif;
?>
<?php
get_footer(); ?>

2. 验证固定链接配置

进入WordPress后台→设置→固定链接,点击「保存更改」刷新重写规则,确保自定义文章类型的slug匹配逻辑正常生效。

可选规范优化

你可以为自定义文章类型单独创建单页模板,无需在通用single.php中做判断:

  • 英文活动自定义文章类型为eventEnglish,创建single-eventEnglish.php作为英文活动的专属单页模板
  • 法语活动自定义文章类型为evenementFrancais,创建single-evenementFrancais.php作为法语活动的专属单页模板

你的archive.php列表页逻辑无需修改,当前是正常可用的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 20:48:03