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

如何为每个WordPress单篇博客文章添加URL参数?

为WordPress单篇文章URL添加固定锚点/参数的方法

方法一:通过PHP过滤器钩子修改(推荐)

利用WordPress内置的post_link过滤器,在主题的functions.php文件中添加代码,自动给所有单篇文章的URL末尾追加#blog锚点:

add_filter( 'post_link', 'add_blog_anchor_to_single_posts', 10, 3 );
function add_blog_anchor_to_single_posts( $permalink, $post, $leavename ) {
    // 仅对文章类型(post)的单页链接生效
    if ( 'post' === $post->post_type && is_single() ) {
        $permalink .= '#blog';
    }
    return $permalink;
}

如果需要添加的是GET参数(比如?source=blog),可调整代码为:

add_filter( 'post_link', 'add_blog_param_to_single_posts', 10, 3 );
function add_blog_param_to_single_posts( $permalink, $post, $leavename ) {
    if ( 'post' === $post->post_type && is_single() ) {
        // 判断链接是否已有参数,自动选择分隔符
        $separator = strpos( $permalink, '?' ) !== false ? '&' : '?';
        $permalink .= $separator . 'source=blog';
    }
    return $permalink;
}

方法二:直接修改主题模板中的链接输出

若不想使用钩子,可直接编辑主题模板文件(如index.php、archive.php、single.php),找到输出文章链接的代码(通常是the_permalink()或get_permalink()),手动拼接锚点或参数:

// 输出带#blog锚点的文章链接
echo get_permalink() . '#blog';

// 或直接输出完整HTML链接
echo '<a href="' . get_permalink() . '#blog">' . get_the_title() . '</a>';

方法三:前端JavaScript动态添加(无需修改PHP)

如果没有后台代码修改权限,可通过JS在页面加载后为所有文章链接追加锚点:

document.addEventListener('DOMContentLoaded', function() {
    // 选择所有指向单篇文章的链接,可根据你的站点URL结构调整选择器
    const postLinks = document.querySelectorAll('a[href*="/post/"]');
    postLinks.forEach(link => {
        // 避免重复添加锚点
        if (!link.href.includes('#blog')) {
            link.href += '#blog';
        }
    });
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 10:42:37