根据WP用户角色更改徽标URL 时间:2020-02-29 作者:Jimmy 我希望能够根据用户角色更改WordPress默认徽标url(而不是徽标图像)。图像/徽标将保持不变,只有url将更改。任何帮助或想法都将不胜感激。 3 个回复 SO网友:Dan Sutherland 这取决于你的主题。通常,主题会将徽标href动态设置为home_url() 功能或site_url() 作用任何好的主题都会为您提供一个过滤器挂钩,以使用add_filter, 这将返回一个新的url。e、 g。function change_logo_url ($url) { $url = "www.changeurlhere.com"; return $url; } add_filter(\'your_themes_hook\', \'change_logo_url\'); SO网友:Tdude 在此处查看有关不同选项的一些提示https://developer.wordpress.org/reference/functions/current_user_can/ If the current user is an administrator or editor https://stackoverflow.com/questions/13404284/wordpress-capabilities-and-current-user-can-in-functions-php#13404440 // example if (current_user_can( \'edit_posts\' )) { // serve a URL for this kind of user } SO网友:Michael 尝试对徽标url链接使用此筛选器;调整登录页链接:function user_defined_logo_url( $html ) { $cur_user = wp_get_current_user(); $user_role = $cur_user->roles[0]; $logo_url = esc_url( home_url( \'/\' ) ); switch( $user_role ) { case "cc1": $switch_logo_url = esc_url( home_url( \'/\' ) . \'landingcc1\' ); break; case "cc2": $switch_logo_url = esc_url( home_url( \'/\' ) . \'landingcc2\' ); break; case "cc3": $switch_logo_url = esc_url( home_url( \'/\' ) . \'landingcc3\' ); break; default: $switch_logo_url = \'\'; } if( $switch_logo_url ) $html = str_replace( \'href="\'.$logo_url, \'href="\'.$switch_logo_url, $html ); return $html; } add_filter( \'get_custom_logo\', \'user_defined_logo_url\' );` 文章导航