@kirill270999

Как дать доступ только к четырем записям, остальное открыть только после оплаты?

Здравствуйте! Посоветуйте, как правильно сделать так, чтобы пользователю было доступно только 4 записи, а после оплаты все остальное? Какой плагин использовать?
  • Вопрос задан
  • 147 просмотров
Решения вопроса 1
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())


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

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы