wordpress 自定义文章类型,如何在发布一篇文章之后,自动跳转到发布新文章的页面

在 WordPress 中,如果你想实现在发布自定义文章类型(如 movie)的文章后,自动跳转到“添加新文章”的页面,你可以通过下面的方法实现:

✅ 方法:使用 redirect_post_location 过滤器

在主题的 functions.php 或你自己的插件中添加以下代码:

function redirect_after_publish_to_add_new($location, $post_id) {
    // 获取当前的 post 类型
    $post_type = get_post_type($post_id);

    // 检查是否是你的自定义文章类型,比如 'movie'
    if ($post_type === 'movie') {
        // 检查是否是新发布(而不是更新)
        if (get_post_status($post_id) === 'publish' && isset($_POST['original_post_status']) && $_POST['original_post_status'] !== 'publish') {
            // 跳转到添加新文章页面
            $location = admin_url("post-new.php?post_type=movie");
        }
    }

    return $location;
}
add_filter('redirect_post_location', 'redirect_after_publish_to_add_new', 10, 2);

🔍 功能解释:

  • redirect_post_location 是 WordPress 在保存/发布文章后用来跳转的过滤器。

  • 代码判断当前操作是否为首次发布(避免“更新”也跳转)。

  • 如果是发布了 movie 类型的文章,则跳转到 post-new.php?post_type=movie,也就是“添加新文章”页面。


🧪 测试建议

  1. 确保你在后台发布的是自定义文章类型 movie(或你实际的类型)。

  2. 如果发布后没有跳转,请清理缓存、刷新 permalinks,或使用调试日志查看是否代码生效。