Создание страницы и меню WordPress доступно только для зарегистрированных пользователей, проверка переменных сеанса

Я пытаюсь подключиться к пользователям в wordpress через API другой платформы, поэтому я использую функцию ajax для вызова внешнего API, отправляющего учетные данные пользователя (имя пользователя, пароль) и возвращающего информацию о пользователе: (email, id , имя…).

Мне нужно, чтобы зарегистрированные пользователи были на моем сайте WordPress, но не сохраняйте их (зарегистрировать их) в базе данных WordPress, поэтому я не могу использовать какой-либо «плагин для роли пользователя», чтобы управлять видимостью страниц / сообщений ,

Итак, моя цель: Сделать страницы / сообщения и даже меню только видимыми для этих внешних пользователей, когда они вошли в мой сайт WordPress, но не сохраняют их в базе данных.

Я думаю, что, возможно, используя переменные сеансы или собственную функцию check_user_login (), но я не уверен, как я могу это достичь (где я должен проверять определенные страницы, чтобы они отображались только для зарегистрированных пользователей?), Потому что даже если у меня есть опыт в PHP, это мой первый раз, используя wordpress.

Я просто прошу идеи, поэтому из-за этого я пока не отправляю код.

В очередной раз благодарим за помощь.

Solutions Collecting From Web of "Создание страницы и меню WordPress доступно только для зарегистрированных пользователей, проверка переменных сеанса"

Я думаю, что комментарий Майло справедлив. Предположительно, вы хотите использовать такие функции, как current_user_can () и т. Д. В качестве альтернативы, если это просто показать другое меню, вы можете создать собственное меню для удаленных пользователей, а затем установить cookie на своем сайте wordpress (через вызов из API) и отображать другое меню для ваших удаленных пользователей при дистанционной аутентификации.

add_filter('wp_nav_menu_args', 'wpse_wp_nav_menu_args_filter'); function wpse_wp_nav_menu_args_filter($args = array()) { if ($_COOKIE["remoteuser"] == "loggedin") { // User is remotely authenticated // Setup Primary Menu if ( $args['theme_location'] == 'primary' ) { $args['menu'] = "remote_user_menu"; } return $args; } else { return $args; } } 

Затем вы можете использовать что-то по тем же линиям, чтобы определить, должна ли страница быть видимой или нет.