Intereting Posts
Бесплатное решение для платежной тележки Правильный способ создания собственных шаблонов Enqueue в проекте sass Пользовательская кнопка на странице пользовательской таксономии настроить крошечный блок MCE Загружать файлы CSS в заголовке темы Bones? удаленные пользователи по-прежнему отображаются в графе? Добавление разделителя в панировочные сухари Multisite – создание нового сайта с предварительно обработанными страницами, меню и т. Д. Текущее сообщение Родительская категория и ссылки на детские категории WordPress pods io – Rest API для получения информации о полях для пользовательских типов сообщений Отображение динамического уведомления администратора Пользовательская структура тегов повторной записи WordPress запрос с элементами из более чем одной самоопределенной таксономии в качестве аргумента «term» Проблема с входом администратора после развертывания Как исправить ошибки смешанного содержимого в инструменте настройки темы, когда ваш администратор использует SSL?

Как создать короткий код с 1 параметром (atts)

У меня возникли проблемы с получением короткого кода для работы с 1 атрибутом.

Вот мой [sme_user-email userID="2"]

Вот мои сценарии – никто из них не работает.

 function getUserEmail_func($atts) { extract(shortcode_atts(array('userID' => 1,), $atts)); $user_info = get_userdata($atts); return $user_info->user_email; } add_shortcode('sme_user-email', 'getUserEmail_func'); 

,

 function getUserEmail_func($atts) { $user_info = get_userdata($atts); return $user_info->user_email; } add_shortcode('sme_user-email', 'getUserEmail_func'); 

,

 function getUserEmail_func($atts) { $user_info = get_userdata($atts['userID'); return $user_info->user_email; } add_shortcode('sme_user-email', 'getUserEmail_func'); 

Это работает, но я не хочу жестко указывать идентификатор пользователя. Я надеялся, что смогу сделать это динамически

 function getUserEmail_func($atts) { $user_info = get_userdata(2); return $user_info->user_email; } add_shortcode('sme_user-email', 'getUserEmail_func'); 

Solutions Collecting From Web of "Как создать короткий код с 1 параметром (atts)"

Вот как вы должны создать короткий код.

Сначала вам нужно будет определить $atts item в get_userdata потому что $atts – это массив. Также я думаю, что есть также некоторые проблемы с именами верхних регистров, поэтому вы должны использовать атрибут в нижнем регистре. Поэтому вместо userID используйте userid .

 function getUserEmail_func( $atts ) { $user_info = get_userdata( $atts['userid'] ); return $user_info->user_email; } add_shortcode( 'sme_user-email', 'getUserEmail_func' ); 

Протестируйте его, и он работает.