Как я могу включить идентификатор пользователя внутри 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 } 

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