Intereting Posts
Проверка текущего языка в функции Сделайте мой блог WordPress помните мой логин "навсегда" Детская тема – переопределение «require_once» в functions.php Назначение меток пользователю? Как изменить заголовок заголовка h2 на h1 Если ваш блог был приложением на Facebook Как удалить все метабокс для персонализированного типа сообщений? Где хранятся параметры темы и я могу экспортировать их для импорта в недавно установленные темы? Получать сообщения о едином таксономии термина пользовательского типа Автоматическое резервное копирование перед автоматическим обновлением WordPress jQuery Ajax () не работает, когда страница доступна как страница шаблона WordPress Создать пользовательский пост из другого пользовательского сообщения Как внести изменения в style.php Изображения, загруженные с помощью медиа-загрузчика, появляются вверх ногами PHP5, Inheritance, Singleton – ограничение действия и фильтра

Как я могу включить идентификатор пользователя внутри php-кода короткого кода?

Для короткого кода, который я использую, разработчик плагина только добавил возможность вывода содержимого через короткий код. Таким образом, кодекс – это все, с чем мне нужно работать.

Вот короткий код по умолчанию, который работает:

echo do_shortcode("[theplugin_user_data user_id='8']"); 

С помощью этого кода он выведет данные для пользователя с идентификатором пользователя «8». Проблема в том, что я не могу использовать этот код, потому что, если бы я сказал, что он предоставит одинаковые данные для идентификатора пользователя «8» ко всем комментариям, в то время как мне нужно его для получения для каждого комментатора.

Так что в основном мне нужно получить идентификатор пользователя текущего автора комментария, и после извлечения их идентификатора мне нужно динамически вставить его в короткий код.

Вот представление о том, что я могу придумать, но я не знаю, как заставить его работать.

 echo do_shortcode("[theplugin_user_data user_id='" . phpcodehere . "']"); 

Итак, как я могу получить идентификатор пользователя текущего комментатора и вставить его в короткий код, показанный выше?


Заметка:
Я помещаю это в раздел комментариев, чтобы вытащить данные. Я использую систему комментариев WordPress по умолчанию, никаких плагинов или внешних систем комментариев (плагин, из которого я извлекаю данные, не имеет никакого отношения к комментариям).

Заметка 2:
Идентификатор пользователя, который необходим, – это комментатор, который сделал комментарий, а не тот, кто вошел в систему, – обратите внимание, что это внутри цикла комментариев WordPress, вытягивающего все комментарии. Вот цикл комментариев:

 function theme_comment( $comment, $args, $depth ) { $GLOBALS['comment'] = $comment; 

Например, get_comment_author_link() работает внутри цикла, чтобы получить ссылку для автора комментария. Мне нужен идентификатор пользователя автора комментария.

Заметка 3:
Не автор сообщения, ни зарегистрированный пользователь; мне нужен идентификатор пользователя автора комментария.

Solutions Collecting From Web of "Как я могу включить идентификатор пользователя внутри php-кода короткого кода?"

Поэтому я предполагаю, что «текущий комментатор» на самом деле является текущим пользователем, зарегистрированным в WP. Итак, чтобы получить текущий идентификатор пользователя, вы можете просто использовать get_current_user_id :

 echo do_shortcode("[theplugin_user_data user_id='" . get_current_user_id() . "']"); 

ОБНОВИТЬ

Итак, поэтому мы хотим, чтобы ID автора комментария:

 //$comment = get_comment(); // in your case, it seems you already have a $comment object... if($comment) { if($comment->user_id) echo do_shortcode("[theplugin_user_data user_id='" . $comment->user_id . "']"); else echo '(no data available)'; // <---- fallback, in case the comment has no known author } 

Надеюсь это поможет!