スライダーがSubscriber権限でみえてしまい、編集さえ許されてしまう。
以下参考にしてみた。
f(current_user_can('subscriber')){
add_action( 'after_setup_theme', 'subscriber_hide_toolbar' );
}
function subscriber_hide_toolbar() {
show_admin_bar( false );
}
子テーマの function.php に( 今回は元々子テーマだから、そこの function.php の最終業に追記)
上手行った。
これだと、編集とか表示されないので以下で対応する。
class Subscriber_User_Widget extends WP_Widget {
/**
* ウィジェット名などを設定
*/
public function __construct() {
// widget actual processes
parent::__construct(
'foo_widget', // Base ID
__( '購読者ウィジェット'), // Name
array( 'description' => __( '購読者用のログイン、ログアウト、プロフィール変更を表示するウィジェットです。' ), ) // Args
);
}
/**
* ウィジェットの内容を出力
*
* @param array $args
* @param array $instance
*/
public function widget( $args, $instance ) {
// outputs the content of the widget
echo $args['before_widget'];
if (is_user_logged_in()){
if(current_user_can('subscriber')){
// ログアウト、プロフィールを編集表示
echo '<p><a href="'. wp_logout_url(). '">ログアウト</a></p>';
echo '<p><a href="/wp-admin/profile.php">プロフィールを編集</a></p>';
}
} else {
// ログイン表示
echo '<p><a href="'. wp_login_url(). '">ログイン</a></p>';
}
echo $args['after_widget']; }
/**
* 管理用のオプションのフォームを出力
*
* @param array $instance ウィジェットオプション
*/
public function form( $instance ) {
// 管理用のオプションのフォームを出力
}
/**
* ウィジェットオプションの保存処理
*
* @param array $new_instance 新しいオプション
* @param array $old_instance 以前のオプション
*/
public function update( $new_instance, $old_instance ) {
// ウィジェットオプションの保存処理
}
}
add_action( 'widgets_init', function(){
register_widget( 'Subscriber_User_Widget' );
});
No tags for this post.
