Я работаю над страницей wordpress и пытаюсь включить блок HTML, чтобы показать изображение с тем же именем, что и идентификатор пользователя.
Flow:
- Пользователь (например, User_id = 2) может загрузить фотографию через форму.
- Я сохраняю фотографию в папке загрузки и называю ее user_id.
- Пользователь регистрируется в личный кабинет и имеет доступ к странице, где я показываю эту фотографию.
Если я добавлю этот код в блок HTML, он покажет правильную фотографию, но, конечно, не динамически меняется для каждого пользователя. <img src=/wp-content/uploads/2.jpeg alt=2.jpeg/>
Я пытался заменить 2
на get_current_user_id()
, но изображение не загружается. Я также пытался присвоить значение, возвращаемое get_current_user_id (), переменной, а затем вызвать эту переменную в пути к изображению, но это также не возвращает изображения.
<?html var userid=get_current_user_id() img src=/wp-content/uploads/userid.jpeg alt=userid.jpeg/>
I ' m новичок в html, но я полагаю, что это должно быть что-то относительно простое? Может ли кто-нибудь помочь мне указать правильное направление?
EDIT: теперь я использую эту PHP функцию, чтобы получить идентификатор пользователя с помощью короткого кода:
function custom_shortcode_func_id() {
ob_start();
$current_user = wp_get_current_user();
echo $current_user->ID . '<br />';
$output = ob_get_clean();
return $output;
}
add_shortcode('current_user_ID', 'custom_shortcode_func_id');
, но все еще не уверен как интегрировать этот идентификатор в путь к изображению. Должно ли это произойти и на стороне PHP? Является ли идеальным решением я должен работать над чем-то вроде (A) шорткода, который показывает изображение непосредственно из PHP? или это скорее (B) шорткод, который печатает код html (как приведенный выше, но каждый раз с правильным идентификатором), а затем html показывает изображение?
Я пробовал несколько вариантов замены чего-то вроде этого кода ниже на предыдущий оператор echo. Но он всегда ломает веб-сайт.
$photobyID= "/wp-content/uploads/".$current_user->ID."jpeg";
echo ‘<img src=“’.$photobyID.‘”>’;
Я также пытался переместить приведенный выше оператор эха на стороне html следующим образом:
<img src="<?php echo $photobyID; ?>" alt=2.jpeg/>