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

为文章永久链接创建带自定义字段$trick_nummer的301重定向短URL

实现自定义短URL并301重定向到原文章

嘿,我来帮你搞定这个基于自定义字段的短URL重定向需求!假设你用的是WordPress(毕竟提到了文章元数据自定义字段),下面是完整的实现方案:

核心思路

我们需要完成三件关键事情:

  1. 给mydomain.com/Tipp{数字}格式的URL添加重写规则,让WordPress能识别并处理它
  2. 告诉WordPress允许接收trick_nummer这个查询参数
  3. 当用户访问短URL时,根据自定义字段值匹配对应文章,返回301永久重定向到原链接

代码实现

把下面的代码放到你的主题functions.php文件里(更推荐做成自定义插件,避免主题更新丢失代码):

function custom_trick_shorturl_rewrite() {
    // 添加重写规则,匹配 Tipp 后跟数字的URL结构
    add_rewrite_rule(
        '^Tipp(\d+)/?$',
        'index.php?trick_nummer=$matches[1]',
        'top'
    );
}
add_action('init', 'custom_trick_shorturl_rewrite');

// 注册查询变量,让WordPress允许接收trick_nummer参数
function custom_trick_query_var($vars) {
    $vars[] = 'trick_nummer';
    return $vars;
}
add_filter('query_vars', 'custom_trick_query_var');

// 处理请求,完成301重定向
function custom_trick_redirect() {
    $trick_num = get_query_var('trick_nummer');
    
    if ($trick_num) {
        // 查询拥有对应trick_nummer自定义字段的文章
        $args = array(
            'post_type' => 'post', // 如果是自定义文章类型,替换成你的类型slug
            'meta_query' => array(
                array(
                    'key' => 'trick_nummer',
                    'value' => $trick_num,
                    'compare' => '='
                )
            ),
            'posts_per_page' => 1,
            'no_found_rows' => true, // 优化查询,不需要分页统计
            'fields' => 'ids' // 只返回文章ID,提升查询效率
        );
        
        $matching_posts = get_posts($args);
        
        if (!empty($matching_posts)) {
            $target_url = get_permalink($matching_posts[0]);
            // 发送301永久重定向响应(对SEO友好)
            wp_redirect($target_url, 301);
            exit;
        } else {
            // 没找到对应文章时,返回404页面
            global $wp_query;
            $wp_query->set_404();
            status_header(404);
        }
    }
}
add_action('template_redirect', 'custom_trick_redirect');

关键操作:刷新重写规则

添加完代码后,一定要去WordPress后台的设置 → 固定链接页面,不需要修改任何设置,直接点击「保存更改」按钮。这一步会刷新WordPress的重写规则,让新的短URL规则正式生效。

注意事项

  • 确保trick_nummer自定义字段的值是唯一的,如果多个文章用同一个数字,只会跳转到查询到的第一篇文章
  • 如果你的文章是自定义文章类型(不是默认的post),记得把代码里的'post_type' => 'post'替换成你的自定义类型slug,比如'trick'
  • 测试时可以用浏览器开发者工具的「网络」标签,确认重定向的状态码是301,确保对SEO友好

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:02:47