为唯一用户链接到不同页面的菜单按钮?

时间:2015-01-02 作者:user129963

有没有办法创建一个菜单按钮,将不同的页面链接到每个唯一的用户?

到目前为止,我已经使用了插件:特定于用户的内容、Peter的登录重定向和我的登录。

基本上,当用户登录时,他们只能获得对他们可用的信息,但如果用户移动到另一个页面,则无法返回。如何使他们返回菜单内的链接?

为了确保这一点,我想在菜单栏上创建一个按钮,他们可以单击该按钮进入用户个人页面。我对wordpress很陌生,对html/css等不太熟悉。

2 个回复
SO网友:flomei

如果你想做一些像“返回上一页”这样的链接,它可能不会与WP菜单系统一起工作。

但您可以修改/添加主题并使用$_SERVER[\'HTTP_REFERER\'] (PHP manual) 链接回站点,用户在其中单击指向实际页面的链接。但是,由于隐私设置/插件或其他原因,这些信息也可能被更改或不可用,所以请务必记住这一点。

<小时>Update: 由于评论中提供了更清晰的信息,您可以做到这一点。

创建一个页面模板,称为“重定向到用户页面”或类似的内容。Have a look here 看看这是怎么回事

  • 除了必要的部分之外,还要将其放入模板文件中(您可能需要调整它,以满足您的需要):
    1. if(is_user_logged_in()) { $user_info = get_userdata(get_current_user_id()); $url = \'http:// www. example. com/users/\'.$user_info->user_login.\'/\'; $string = \'< script type="text/javascript" >\'; $string .= \'window.location = "\' . $url . \'"\'; $string .= \'< /script >\'; }

      这将首先检查用户是否已登录,然后检索其用户数据,最后重定向到您定义的(子)页面,其中他的登录名为permalink。

      设置一个使用自定义页面模板的页面,并为其选择一个好的永久链接

      确保查找我在此处使用的函数。现在不能发布两个以上的链接,但你应该真正了解它的作用和原因,否则你使用它不会有多大乐趣。

    SO网友:Milo

    如果你有wp_nav_menu 例如,对于菜单,可以添加过滤器,以便在将菜单打印到页面时动态添加菜单项。

    所有导航菜单的过滤器为wp_nav_menu_items.

    对于特定菜单段塞,过滤器为wp_nav_menu_{$menu->slug}_items. 例如,如果您的菜单slug是primary, 过滤器应为wp_nav_menu_primary_items

    根据您在评论中的描述,下面的示例可能会满足您的需要。

    function wpd_nav_menu_items( $items ){
        // if a user is logged in
        if( is_user_logged_in() ){
            // get the current user\'s data
            global $current_user;
            get_currentuserinfo();
            // menu item\'s url and title
            $url = home_url( \'/\' . $current_user->user_login . \'/\' );
            $title = $current_user->user_firstname . \'\\\'s page\';
            // add the menu item onto the end
            $items .= \'<li><a href="\' . $url . \'">\' . $title . \'</a></li>\';
        }
        return $items;
    }
    add_filter( \'wp_nav_menu_items\', \'wpd_nav_menu_items\' );
    

    结束

    相关推荐

    Wordpress Remove Submenus

    我在这里找到了一个已回答的问题Remove menus and submenus 2 Answers 对于我的问题,但是否有一种方法可以稍微更改代码,以便删除所有编辑器角色的子菜单。不仅仅针对一个用户?有没有办法改进这段代码?我正在使用3.5.1 WordPress版本code that I am using: add_action(\'_admin_menu\', \'remove_editor_submenu\', 1); function remove_editor_submenu() {&