Intereting Posts
Что делают add_filters () и apply_filter ()? get_post_meta не извлекает заголовок, permalink и posttype Страница пользовательского поиска и поиск по названию, содержанию и тегу Разделение категорий со всеми значениями, выбранными с помощью wp_dropdown_categories Переименуйте изображение, чтобы опубликовать заголовок сайт получает попытки входа после ограничения htaccess ip Изображения пользовательского поля WordPress не вставлены в массив Лучший способ получить несколько ссылок в заголовке сообщения Двадцать пятнадцать: изменение поведения меню навигации wp_logout_url перенаправляет на неверную страницу из-за разбивки на страницы Как заменить textarea в плагине с помощью wp_editor Расширенный поиск перенаправляется на другую страницу, затем фильтрует дальше Установка вложенной папки WordPress AJAX Проблема WP_query: принудительное заполнение последних номеров сообщений через настройки чтения Как показать книгу в WordPress?

Multisite – профиль админов эха

У меня возникла проблема с повторением метафайла admin в шаблоне настраиваемого типа сообщения. Он работал, но по какой-то причине он больше не работает. Я не знаю никаких изменений, которые могут привести к такому поведению.

Это код, который я использую в цикле:

<p> <?php $thisblog = $current_blog->blog_id; $user_id_from_email = get_user_id_from_string( get_blog_option($thisblog, 'admin_email')); $phone_number = get_user_meta($user_id_from_email, 'phone', true); if($phone_number!='') { ?> <?php echo $phone_number; ?> <?php } else { ?> <?php } ?></p> 

Я также пробовал это:

 <?php global $current_blog; $thisblog = $current_blog->blog_id; $user_id_from_email = get_user_id_from_string( get_blog_option($thisblog, 'admin_email')); $details = get_userdata($user_id_from_email); if ($details->nickname) echo $details->nickname; ?> 

И это:

 <?php global $current_blog; $thisblog = $current_blog->blog_id; $user_id_from_email = get_user_id_from_string( get_blog_option($thisblog, 'admin_email')); $firm_name = get_user_meta($user_id_from_email, 'nickname', true); if($firm_name!='') { ?> <?php echo $firm_name; ?> <?php } else { ?> <?php } ?> 

Это ничего не значит. Следующий код перекликается с некоторыми данными, но, похоже, это делает для супер администратора:

 <?php $user_info = get_userdata(1); echo $user_info->last_name . ", " . $user_info->first_name . "\n"; ?> 

Любые идеи относительно того, что не так?

Согласно Кодексу, get_user_id_from_string() устарел и должен быть заменен на get_user_by() .

 <p> <?php $thisblog = get_current_blog_id(); // probably don't need this anymore $admin_email = trim( get_option( 'admin_email' ) ); $admin_user = get_user_by( 'email', $admin_email ) ); $phone_number = get_user_meta($admin_user->ID, 'phone', true); if($phone_number!='') { ?> <?php echo $phone_number; ?> <?php } else { ?> <?php } ?></p> 

Я также заменил ваш get_blog_option() на более простой get_option() , поскольку get_blog_option() существу выполняет функции switch_to_blog() , get_option() и restore_current_blog() . Поскольку вы все равно switch_to_blog() за информацией в текущем блоге, switch_to_blog() и restore_current_blog() являются излишними.

Если этот код не работает, выполните некоторую отладку – добавьте в var_dump( $admin_email) чтобы убедиться, что get_option() извлек что-то и т. Д.

Отредактировано для ответа на комментарии

Когда вы создаете новый сайт в WordPress Multisite, вас спрашивают административный адрес электронной почты. Этот пользователь будет назначен первым администратором сайта. Однако, если этот пользователь удаляется с сайта, опция admin_email не удаляется из базы данных.

Проверьте свой список пользователей на своих страницах wp-admin и убедитесь, что на самом деле пользователь на уровне администратора имеет тот же адрес электронной почты, который вы получили от вашего var_dump( $admin_email ); вызов. Если есть, подсчитайте количество символов в адресе электронной почты. Мне интересно, если вы видите проблему с пробелами (например, дополнительное пространство, вставленное в $admin_email или что-то еще). Я добавил trim() к образцу кода, но я, возможно, хватаюсь за соломинку.