有没有可能从管理侧边栏链接到主页?

时间:2014-08-04 作者:Undistraction

我最接近的是:

function redirect_to_local_110(){
  wp_redirect("/", 302);
  exit;
}

function add_home_link() {
    add_menu_page( \'Course\', \'Course\', \'read\', \'home\', \'redirect_to_local_110\', \'dashicons-welcome-learn-more\');
}

add_action( \'admin_menu\', \'add_home_link\', 1001 );
然而,即使函数redirect_to_local_110 则渲染链接为admin.php?page=home.

如何拥有链接到主页的顶级菜单项?

2 个回复
SO网友:Brad Dalton

$位置参数不正确。尝试以下操作:

function redirect_to_local_110(){
 wp_redirect( home_url() );
  exit;
}

function add_home_link() {
    add_menu_page( \'Course\', \'Course\', \'read\', \'home\', \'redirect_to_local_110\', \'dashicons-welcome-learn-more\');
}

add_action( \'admin_menu\', \'add_home_link\', 1001 );
或者您可以使用:

function redirect_to_local_110(){
 wp_redirect( \'http://www.example.com\', 301 );
  exit;
}

function add_home_link() {
    add_menu_page( \'Course\', \'Course\', \'read\', \'home\', \'redirect_to_local_110\', \'dashicons-welcome-learn-more\');
}

add_action( \'admin_menu\', \'add_home_link\', 1001 );

SO网友:birgire

当您在redirect_to_local_110() 功能,因此您面临以下风险:

警告:无法修改标题信息-标题已由。。。

消息

您可以在功能中尝试并验证它:

function redirect_to_local_110()
{
    if( headers_sent() )
    {
        echo \'oh, headers are already sent, so we better not use wp_redirect() here!\';
    }
}
另一个(hacky)选项是使用Javascript修改链接,类似于:

add_action( \'admin_footer\', function(){
    $link = home_url( \'/\' ); // Modify to your needs.
    echo \'<script>
        jQuery( function($){
            $("#adminmenu a.toplevel_page_home").attr( "href", "\' . esc_url( $link ) . \'" );
        });
    </script>\';
});
ps:使用起来可能会更干净wp_localize_script()wp_enqueue_script(), 但如果只加载一行短的外部javascript文件,感觉有点太多了!;-)

结束

相关推荐

当我在admin的post.php上时,我如何知道当前的帖子类型?

当且仅当用户正在编辑post类型为“event”的帖子(post.php)时,我试图使用admin\\u init钩子做一些事情。我的问题是,即使wordpress指向一个全局变量调用$post\\u type。如果我这样做:global $post_type; var_dump($post_type); 它返回NULL。但如果我这样做:global $pagenow; var_dump($pagenow); 它返回我的当前页面。i、 e.“post.php”。我研究了