Custom taxonomy admin page

时间:2012-03-01 作者:Stephen Harris

如果要为分类法创建自定义管理页面,可以设置\'show_ui\' => false 当您注册它以抑制默认管理页,然后创建新的管理页以替换它时。

然而edit-tags.php?taxonomy=taxonomy-slug 仍然会将您带到“隐藏”默认管理页面。是否有办法将其定向到自定义管理页面。或者有没有其他方法可以绕过这个问题?

2 个回复
最合适的回答,由SO网友:Stephen Harris 整理而成

不知道为什么我之前没有想到这一点。我想我希望有一种方法“劫持”默认页面以显示其他内容。。。无论如何,请遵循我的原始方法:

如果要为分类法创建自定义管理页,可以在注册时将“show\\u ui”=>设置为false以抑制默认管理页,然后创建一个新的管理页来替换它。

你可以回避edit-tags.php?taxonomy=taxonomy-slug 只需使用以下命令将用户重定向到页面,即可转到隐藏的分类法页面wp_redirect:

add_action(\'load-edit-tags.php\',\'myprefix_redirect_to_custompage\');
function myprefix_redirect_to_custompage(){
    $screen = get_current_screen(); 
    if($screen->id == \'edit-mytax\'){
        $url = admin_url(\'edit.php?page=mypage\');
        wp_redirect($url); 
        exit;
    }
}
假设mytax 是分类名称。$url 应为替换默认分类法页面的自定义页面的url

SO网友:kaiser

执行简单重定向:

if ( CONDITION_SEE_BELOW )
{
    wp_redirect( admin_url( \'edit.php?post_type=YOUR_CPT\', is_ssl() ? \'https\' : \'http\' ); );
    // faster then die();
    exit;
}
我试图把整页的东西拆开,然后写了a table to sum them up and get definitive hints about where you currently are in this paste.

要在此处列出它们:

  1. global $menu &rarr不可能global $submenu &rarrslugedit-tags.php?taxonomy=YOUR_TAX
  2. global $current_screen &rarridedit-YOUR_TAX 1)
  3. global $self →edit-tags.php 1)2)
  4. $GLOBALS[\'$_SERVER\'][\'REQUEST_URI\'] →edit-tags.php?taxonomy=YOUR_TAX 1)

1)一定要同时检查…

if ( edit.php?post_type=YOUR_CPT === $GLOBALS[\'current_screen\'][\'parent_file\'] )

…以防您的税款也在其他地方登记。

只有在以下情况下,这才有帮助:a)您没有进行其他税务登记,或b)如果您想将它们全部重定向。

结束