Показать изображение на основе идентификатора пользователя - PullRequest
0 голосов
/ 17 июня 2020

Я работаю над страницей wordpress и пытаюсь включить блок HTML, чтобы показать изображение с тем же именем, что и идентификатор пользователя.

Flow:

  1. Пользователь (например, User_id = 2) может загрузить фотографию через форму.
  2. Я сохраняю фотографию в папке загрузки и называю ее user_id.
  3. Пользователь регистрируется в личный кабинет и имеет доступ к странице, где я показываю эту фотографию.

Если я добавлю этот код в блок 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/>

1 Ответ

0 голосов
/ 22 июня 2020

Этот код показывает фотографию, имя которой совпадает с именем пользователя.

function custom_shortcode_func_id_pic() {
        ob_start();
        $current_user = wp_get_current_user();
            $current_user_id=$current_user->ID ;
            echo '<img src=/wp-content/uploads'.$current_user_id.'.png >';
        $output = ob_get_clean();
        return $output;
    }
    add_shortcode('current_user_picture', 'custom_shortcode_func_id_pic');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...