以下代码添加My Page
管理菜单中的按钮。当你点击它时,它会带你进入你的作者页面。但是,它也会打开新页面(空白页面)。
我希望它只是把你们带到作者页面,而不是在后端打开一个新页面。我如何做到这一点?我还为所有用户角色显示此菜单(现在只显示在管理员角色上)
我知道我的代码错了。请让我知道如果你有任何建议写得更好。
add_action( \'admin_menu\', \'add_my_custom_menu\' );
function add_my_custom_menu() {
//add an item to the menu
add_menu_page (
\'My Page\',
\'My Page\',
\'manage_options\',
\'my-page\',
\'see_my_page_function\',
\'dashicons-controls-play\',
\'100\'
);
}
function see_my_page_function() {
$current_user = wp_get_current_user();
?>
<script>
url = "<?php echo get_site_url().\'/author/\'.$current_user->user_login.\'/\'; ?>";
window.open(url, \'_blank\');
</script>
<?php
}
SO网友:Bryan Willis
在您的情况下,这将自动打开登录作者的作者url:
function add_custom_menu_item_logged_in_author(){
add_menu_page( \'My Posts\', \'My Posts\', \'manage_options\', \'author-redirect\', \'custom_menu_item_redirect\', \'dashicons-nametag\', 1 );
}
add_action( \'admin_menu\', \'add_custom_menu_item_logged_in_author\' );
function custom_menu_item_redirect_logged_in_author() {
global $current_user;
get_currentuserinfo();
// change $my_redirect_url if accessing a different url other than author page
$my_redirect_url = get_author_posts_url($current_user->ID);
$menu_redirect = isset($_GET[\'page\']) ? $_GET[\'page\'] : false;
if($menu_redirect == \'author-redirect\' ) {
wp_safe_redirect( $my_redirect_url );
exit();
}
}
add_action( \'admin_init\', \'custom_menu_item_redirect_logged_in_author\', 1 );