Ответы пользователя по тегу Платёжные системы
  • Как дать доступ только к четырем записям, остальное открыть только после оплаты?

    ikonkov
    @ikonkov
    Можно без плагина это реализовать. Создать роль пользователя "Pro" например, присваивать после оплаты.
    add_action( 'after_switch_theme', 'add_pro_role' );
    function 'add_pro_role() {
       add_role( 'pro', 'Pro', ['read' => true]);
    }
    
    // далее простая функция для вывода роли
    
    function get_user_role($user_id) {
    	global $wp_roles;
    	$roles = array();
    	$user = new WP_User( $user_id );
    	if ( !empty( $user->roles ) && is_array( $user->roles ) ) {
    	foreach ( $user->roles as $role )
    		$roles[] .= translate_user_role($wp_roles->roles[$role]['name']);
    	}
    	return implode(', ',$roles);
    }


    В местах где надо скрыть контент для обычных пользователей - простая конструкция

    // Опредяляем роль
    $current_user_id = get_current_user_id(); 
    $current_user_role = get_user_role( $current_user_id );
    
    // если Про
    if($current_user_role == 'Pro') { 
    // Выводим скрытый контент
    } else {
    // Выводим отлуп, например
    echo 'Вам не разрешено просматривать данную страницу';
    }
    
    так же перед этим не мешает проверить залогинен ли вообще пользователь (is_user_logged_in())


    Все просто и плагины никакие не нужны. По такому принципу кстати делаются личные кабинеты и много чего еще.
    Ответ написан
    7 комментариев