当用户登录时,WP-Members说:您以“用户名”登录。如何在CSS中引用此用户名以更改其颜色?
答案 0 :(得分:0)
在您的主题文件中:
<?php
if (is_user_logged_in()) {
?>
<p class="loggedin">You are logged in as "username".</p>
<?php
} else {
?>
<p class="loggedout">You are logged in as "username".</p>
<?php
}
?>
CSS
p.loggedin {
color: green;
}
p.loggedout {
color: red;
}
答案 1 :(得分:0)
这样做的方法是过滤它。登录状态的侧边栏有一个过滤器挂钩 - wpmem_sidebar_status。侧边栏状态的HTML字符串将传递给过滤器。那就是这样的:
<p>You are logged in as username<br />
<a href="http://logoutlink">click here to log out</a>
因此,如果您想将一些CSS应用于用户名来设置样式,则需要定义一些内容。您需要做的是将用户名包装在span标记中。但你怎么能这样做?
str_replace
将对特定字符串或字符串数组进行搜索和替换。因此,我们可以在用户名之前用文本加上替换开始跨度包装器来替换文本。我们可以将<br />
标记替换为结束范围标记加上 <br />
标记。
add_filter( 'wpmem_sidebar_status', 'my_sidebar_status' );
function my_sidebar_status( $string ) {
/** The original pieces **/
$old = array(
'You are logged in as',
'<br />',
);
/** The replacements **/
$new = array(
'You are logged in as <span class="my_class">',
'</span><br />',
);
/** Do the search/replace **/
$new_string = str_replace( $old, $new, $string );
/** Return the filtered result **/
return $new_string;
}
执行替换的此过滤器将导致侧边栏状态输出为:
<p>You are logged in as <span class="my_class">username</span><br />
<a href="http://logoutlink">click here to log out</a>
然后你可以将一些CSS应用到.my_class类
.my_class {
font-weight: bold;
color: red;
}