当前位置: 首页 > 知识库问答 >
问题:

删除前端的自定义post类型并重定向到特定页面

常波
2023-03-14

我使用以下代码(https://wordpress.stackexchange.com/questions/132196/get-delete-post-link-redirect)从前端删除文章:

id);?>”title=“delete doc”>delete doc

在functions.php中,我有以下代码用于在删除帖子后重定向:

function wpse132196_redirect_after_trashing_get() {
    if ( array_key_exists( 'trashed', $_GET ) && $_GET['trashed'] == '1' ) {
    if (!is_admin()) {
       wp_redirect( home_url('/doc-area/doc') );
       exit;
    }
    }
}
add_action( 'parse_request', 'wpse132196_redirect_after_trashing_get' );

这个很管用。但现在我想为每个自定义post类型创建一个不同的重定向。所以我添加了这个控件

if ( 'extra' == get_post_type() )

功能变为:

function wpse132196_redirect_after_trashing_get() {
if ('extra' == get_post_type()) {
    if ( array_key_exists( 'trashed', $_GET ) && $_GET['trashed'] == '1' ) {
    if (!is_admin()) {
        wp_redirect( home_url('/doc-area/doc') );
        exit;
       }
      }
    }
}
add_action( 'parse_request', 'wpse132196_redirect_after_trashing_get' );

但现在重定向不起作用了。如何为每种特定的帖子类型获得重定向?

共有1个答案

桂志诚
2023-03-14

您可以使用parse_request操作挂钩中的参数来检查post类型是什么。检查下面的代码

function wpse132196_redirect_after_trashing_get( $extra_query_vars ) {
    if ( $extra_query_vars['query_vars']['post_type'] ==  'extra' ) { // $extra_query_vars['extra_query_vars']['post_type']
        if ( array_key_exists( 'trashed', $_GET ) && $_GET['trashed'] == '1' ) {
            if (!is_admin()) {
                wp_redirect( home_url('/doc-area/doc') );
                exit;
            }
        }
    }
}
add_action( 'parse_request', 'wpse132196_redirect_after_trashing_get' );
 类似资料:
  • 我的股票与分页我尝试了很多解决方案,但没有工作!我使用WordPress5.4。我的网站是一个单页网站,当然我想在索引中使用它。php 这是我的密码: 很抱歉,如果这是一个高度重复的问题——我发现的其他修复方法都不适用于我。请有人告诉我问题在哪里? 谢谢! 编辑1我尝试了这个,它也不工作!

  • 我有一个自定义的文章类型“author”,我已经成为了归档作者。php,这里是我使用wp pagenavi插件时遇到的问题,我在这个自定义帖子类型中有15篇帖子,我已经使用了

  • 我有一个两步验证表单,这意味着第一个用户输入得到验证(在ValidatecKetData控制器中),如果一切正常,您可以进入下一个表单页面,我可以通过 问题:在第二页,用户需要上传一个文件,如果他不这样做,验证失败。 如果是这种情况,验证器类立即重定向,因为它是后路由,所以不起作用。 所以我创建了一个这样的获取路线: 并将其放入-方法: 我把它放到了-method中,因为如果用户不在第二页附加文件

  • 我使用jsf servlet并创建了自定义登录页面,使用了带有动作j_spring_security_check的表单,方法POST,使用了j_username和j_password。当我单击登录按钮时,我遇到的问题不是重定向到页面,而是在Chrome网络列中显示了带有302状态代码的post方法j_spring_security_check,我是否使用了Spring安全的正确方式? 登录。jsf

  • 嘿,伙计们,我创建了一个非常简单的“订单经理”角色,应该只能查看和编辑订单。代码如下: 我可以在管理面板中分配此角色,此人接受邀请,但当他们登录时,它会将他们重定向到站点的登录页(“/”路径)!我从你那里拿走了$capabilitieshttps://www.role-editor.com/woocommerce-view-edit-orders/并避免使用任何插件:)我从“订单”链接中放大了图片

  • 我想知道是否可以删除自定义帖子类型的URL结构。例如,我有2个自定义帖子类型:投资组合和滑块。 我想保持像这样的投资组合帖子类型的URL结构:mysite.com/portfolio/item-1等。 但是我不希望滑动条帖子的URL结构,因为滑动条只会显示在主页上,我不希望访问者能够访问mysite.com/slider/slide-1。可能吗? 提前感谢:) Wordpress论坛帖子:http