@svzem

Как исправить notice trying to get property of non-object in header.php on line 299?

Добрый день!
Помогите, пжл, исправить эту ошибку (возникает только в мобильной версии) на странице
panch-tour.com.ua/kupit-bilet-na-avtobus-na-more
Вот код:
<?php
$current_user = wp_get_current_user();
$tmp_uid= $current_user->ID;
$user_meta = get_userdata($tmp_uid);
$user_roles = $user_meta->roles; *****это 299 строка
error_reporting(0);
if ( is_user_logged_in() ) {
if ( in_array( 'administrator', $user_roles, true ) ) {
//echo "administrator";
echo '';
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
V_A_B
@V_A_B
¯\_(ツ)_/¯
$vab_user_id=get_current_user_id();
if($vab_user_id==1){echo "administrator";}
else if($vab_user_id==2){echo 'editor';}
else if($vab_user_id==3){echo 'avtor';}
else if($vab_user_id==4){echo 'Participant';}
else{ echo 'Alien';}//не авторизован

у не авторизованного пользователя нет роли. Если Вы все же желаете свой вариант, то весь код возмите, как вариант, в условие авторизации:
if(is_user_logged_in()){
$current_user=wp_get_current_user();
$tmp_uid=$current_user->ID;
$user_meta=get_userdata($tmp_uid);
$user_roles=$user_meta->roles;
error_reporting(0);
if(in_array('administrator',$user_roles,true)){
echo "administrator";
echo ''; }}

либо перед тем как получаете роль:
$current_user=wp_get_current_user();
$tmp_uid=$current_user->ID;
$user_meta=get_userdata($tmp_uid);
if(is_user_logged_in()){
$user_roles=$user_meta->roles;
error_reporting(0);
if(in_array('administrator',$user_roles,true)){
echo "administrator";
echo ''; }}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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