管理パネルのユザー権限で非表示

スライダーが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.
タイトルとURLをコピーしました