代码之家  ›  专栏  ›  技术社区  ›  Calvin Seng

在WordPress中获取用户子站点/多站点URL

  •  0
  • Calvin Seng  · 技术社区  · 6 年前

    我正在寻找一种方法,以回应用户的子网站的网址,但它似乎只是呼应网络和子网站的帐户与以下功能,我可以改进?谢谢!

    // Add Shortcode
    function blog_url_shortcode() {
    	if(is_user_logged_in()) {
    		global $current_user;
    		$blogs = get_blogs_of_user( $current_user->id );
    		if($blogs) {
    			foreach ( $blogs as $blog ) {
    				echo '<li><a href="http://' . $blog->domain . $blog->path .'">' .  $blog->blogname . '</a></li>';
    			}
    		}
    	}
    }
    add_shortcode( 'blog_url', 'blog_url_shortcode' );
    1 回复  |  直到 6 年前
        1
  •  0
  •   Nikolay    6 年前

    此代码将列出当前用户具有管理员角色的站点。

    function blog_url_shortcode() {
        if( is_user_logged_in()) {
            $current_user_id = get_current_user_id();
            $blogs = get_blogs_of_user( $current_user_id );
            foreach ( $blogs as $blog_id => $blog ) {
                $user = new WP_User( $current_user_id, '', $blog_id );
                if ( in_array( 'administrator', $user->roles ) ) {
                    echo '<li><a href="' . esc_url( $blog->siteurl ) . '">' .  esc_html( $blog->blogname ) . '</a></li>';
                }
            }
        }
    }
    add_shortcode( 'blog_url', 'blog_url_shortcode' );