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

修改WordPress重定向代码,实现登录作者跳转至自身最新文章

WordPress 自定义重定向页面模板改造方案

直接上改造后的完整代码,你可以替换原有的模板代码:

<?php
/*
Template Name: Redirect
*/

// 检查用户是否登录
if (is_user_logged_in()) {
    // 获取当前登录用户ID
    $current_user_id = get_current_user_id();
    
    // 查询当前用户创建的最新「case」自定义文章
    $args = array(
        'posts_per_page' => 1,
        'post_type' => 'case',
        'author' => $current_user_id,
        'post_status' => 'publish', // 只查询已发布的文章,可根据需求调整为draft等
        'orderby' => 'date',
        'order' => 'DESC'
    );
    
    $user_posts = get_posts($args);
    
    if ($user_posts) {
        // 获取文章链接并追加?mode=edit参数
        $post_url = get_permalink($user_posts[0]->ID) . '?mode=edit';
        // 302临时重定向,若需永久重定向可改为301
        wp_redirect($post_url, 302);
        exit;
    } else {
        // 用户已登录但无自己的case文章,跳转到错误页面
        wp_redirect('https://domain.com/error', 302);
        exit;
    }
} else {
    // 未登录用户直接跳错误页面
    wp_redirect('https://domain.com/error', 302);
    exit;
}
?>

关键代码说明

  • 用户登录判断:用is_user_logged_in()函数快速识别访问者是否已登录WordPress后台
  • 用户专属文章查询:在$args数组中添加'author' => $current_user_id,确保只查询当前登录用户创建的文章;orderby和order参数保证拿到最新发布的文章
  • URL参数追加:直接在文章链接后拼接?mode=edit,简单实现参数追加需求
  • 重定向处理:统一使用wp_redirect()函数,第二个参数设为302临时重定向(若确定跳转规则长期不变,可改为301永久重定向);每次重定向后必须加exit终止后续代码执行,避免出现WordPress的额外输出

使用注意事项

  • 把代码中的https://domain.com/error替换成你实际的错误页面URL
  • 若需要包含草稿状态的文章,可把'post_status' => 'publish'改为'post_status' => array('publish', 'draft')
  • 保存代码为page-redirect.php(或保持原模板文件名),上传到当前主题的根目录,然后在WordPress后台创建页面时选择「Redirect」模板即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 15:57:17