我正在使用WordPress的bbpress,而我正在尝试更改user-profile.php
内wp-content/plugins/bbpress/includes/users/
的显示方式。
如果用户具有观众角色,我想回复一条文字说“你没有参与论坛的许可”,但我无法完成它。这就是我现在所拥有的:
<p class="bbp-user-forum-role"><?php printf( __( 'Forum Role: %s', 'bbpress' ), bbp_get_user_display_role() ); ?></p>
// My php code comes here:
if( bbp_get_spectator_role() ) {
echo "<p>You do not have permission to participate in the forum.</p>";
}
以上不起作用。但是,有一个名为“bbp_is_user_keymaster()”的函数。如果有一个相似但bbp_is_user_spectator()
而不是{{1}},那将会很棒。但我似乎无法找到一个。
任何想法如何做到这一点?
答案 0 :(得分:0)
通过一些编辑,你应该可以使用这段代码:http://simplysmartmedia.com/2013/03/role-based-profile-fields-in-wordpress/
编辑过的代码看起来像;
<?php
function check_user_role( $role, $user_id = null ) {
if (isset($_REQUEST['user_id']))
$user_id = $_REQUEST['user_id'];
// Checks if the value is a number
if ( is_numeric( $user_id ) )
$user = get_userdata( $user_id );
else
$user = wp_get_current_user();
if ( empty( $user ) )
return false;
return in_array( $role, (array) $user->roles );
}
function one_random_test() {
if ( check_user_role ('spectator') ) {
echo 'You are not allowed to edit anything.';
}
}
add_action('bbp_template_before_user_profile', 'one_random_test');
?>
文字&#34;您不能编辑任何内容。&#34;然后出现在用户个人资料页面的顶部。使用你喜欢的任何钩子让它出现在其他地方。