WordPress как на ладони

Вывод (получение) изображения из другой записи

Есть две страницы page-blog-2.php и page-blog-detail.php. В странице page-blog-2.php используется функция

<?php echo '<img src="' . the_post_thumbnail() . '">'; ?>

для вывода изображения записи. Можно ли с помощью какой-либо функции на странице page-blog-detail.php вывести именно то же изображение записи, которое выводится на странице page-blog-2.php ?

Заметки к вопросу:
mi13 1.3 года назад

get_the_post_thumbnail и указать id поста.

0
Sergei
1.3 года назад -9
  • 0
    Kama9616

    the_post_thumbnail() - сам выводит на экран готовый IMG тег. У тебя код кривой.

    Ну и как mi13 сказал юзай другую функцию в которую передай ИД/объект записи. Объект записи можно получить разными способами, например, с помощью get_page_by_path():

    $post_obj = get_page_by_path( 'page-blog-2', OBJECT, ['post'] );
    $image = get_the_post_thumbnail( $post_obj, 'medium' );
    echo $image;
    Sergei 1.3 года назад

    Сделал, как вы сказали. С помощью get_the_post_thumbnail(), когда указываю ID конкретного поста всё получается. Но при попытке сделать с помощью get_page_by_path() ничего не выводится. Дело в том, что у меня цикл постов в page-blog-2.php. Возможно ли каким-либо образом сделать так, чтобы при нажатии на ссылку (которой передан URL от page-blog-detail.php) конкретного поста из цикла в page-blog-2.php, когда происходит переход на page-blog-detail.php выводилось изображение именно того поста, на ссылку которого произошло нажатие ?

    Kama 1.3 года назад

    В $_SERVER['HTTP_REFERER'] находится URL с которого пришли, через него можно получить ИД записи с которой пришли.

    mi13 1.3 года назад

    Допиши параметр к ссылке (id поста) и юзай..

    $link = esc_url( 'path_to_detail' ) . '?id=' . get_ID();
    Sergei 1.3 года назад

    $_SERVER['HTTP_REFERER'] выдаёт URL всеёъй страницы т. е. http://acme/blog/blog-2/, но не поста и не конкретной ссылки. Как их получить ?

    Kama 1.3 года назад

    Ну так обработай его:

    echo basename( 'http://acme/blog/blog-2/' ); // blog-2
    echo parse_url( 'http://acme/blog/blog-2/', PHP_URL_PATH ); // /blog/blog-2/
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация