Как получить URL-адрес избранного изображения в WordPress

144

Я использую эту функцию, чтобы получить избранные изображения:

<a href="#" rel="prettyPhoto">
    <?php the_post_thumbnail('thumbnail'); ?>
</a>

Теперь я хочу получить полнофункциональное изображение по клику на теге привязки, для которого мне нужен URL рекомендуемого изображения в

<a href="here" rel="prettyPhoto">

Как я могу это исправить?

ManpreetSandhu
источник

Ответы:

302

Проверьте код ниже и дайте мне знать, если он работает для вас.

<?php if (has_post_thumbnail( $post->ID ) ): ?>
  <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); ?>
  <div id="custom-bg" style="background-image: url('<?php echo $image[0]; ?>')">

  </div>
<?php endif; ?>
swapnesh
источник
1
Большое спасибо, это работа. Я хочу добавить также условие. например, если у вас есть сообщение, тогда покажите это, а если нет, то другой div или css или изображение по умолчанию, любая идея, как
pagol
2
Я сделал это, но это правильный путь или нет, я не знаю. <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); ?> <div class="section bannerarea cashstudybanner" style="background-image: url( <?php if ( has_post_thumbnail() ) { echo $image[0]; } else { ?> <?php bloginfo('template_directory'); ?>/images/common-banner.jpg <?php } ?> )">
Пагол
Большое спасибо! Этот код работает отлично.
Калум Чайлдс
96

Если вы хотите просто источник, а не массив с другой информацией:

<?php $url = wp_get_attachment_url( get_post_thumbnail_id($post->ID), 'thumbnail' ); ?>
<img src="<?php echo $url ?>" />

 

LOLapalooza
источник
Для версии 4.4.0 и выше wp_get_attachment_image_url().
Чарли Вейяр
1
это было именно то, что мне было нужно. загружает полный img src. Спасибо!
killscreen
1
wp_get_attachment_image_urlприменимо, только если вы знаете идентификатор вложения (не идентификатор сообщения).
конечно же,
Я искал это. Спасибо человеку :)
Арман Х
19
// Try it inside loop.  
<?php
$feat_image = wp_get_attachment_url( get_post_thumbnail_id($post->ID) );
echo $feat_image;
?>
Омпракаш Патель
источник
4
@ gavard.e бы на самом деле работа с "вместо ': Р Но кавычки не нужны вообще.
Иванка Тодорова,
16

Простой способ!

 <?php 
     wp_get_attachment_url(get_post_thumbnail_id(get_the_ID()))
 ?>
Луис Фелипе Барнетт V
источник
14

Это прекрасно сработало для меня:

<?php echo get_the_post_thumbnail_url($post_id, 'thumbnail'); ?>
Максим
источник
3
Примечание: доступно только с Wordpress 4.4.0
MarcGuay
<? php echo get_the_post_thumbnail_url ($ post_id); ?> Если вы хотите полноразмерное изображение.
yeahlad
7

Я думаю, что это самое простое и обновленное решение:

<?php the_post_thumbnail('single-post-thumbnail'); ?>
Фредрик Боаз
источник
Тот, что вверху, не работал (без ошибок PHP, чего я не хотел, так как я создаю тему WordPress для масс), но этот работал. +1
Калум Чайлдс
6

Это самый простой ответ:

<?php
    $img = get_the_post_thumbnail_url($postID, 'post-thumbnail');
?>
Вишваджит Мишра
источник
6

Вы можете попробовать это:

<?php 
    $feat_image = wp_get_attachment_url(get_post_thumbnail_id($post->ID)); 
    echo $feat_image; 
?>
NIM
источник
это только печать: '$ feat_image';
Стефан Йоханссон
моя ошибка его, echo $ feat_image;
Nim
4

Попробуй это

<?php 
    echo get_the_post_thumbnail($post_id, 'thumbnail', array('class' => 'alignleft')); 
?>
йахья ахтар
источник
1
Используйте, get_the_post_thumbnail_urlесли вы хотите, чтобы URL изображения только.
Гэвин
3

Вы можете попробовать это.

<?php
   $image_url = wp_get_attachment_url( get_post_thumbnail_id($post->ID) );
?>
<a href="<?php echo $image_url; ?>" rel="prettyPhoto">
Якир Хоссейн
источник
3

Вы также можете получить его из post_meta следующим образом:

echo get_post_meta($post->ID, 'featured_image', true);
Dhyey
источник
3

Вы также можете получить URL-адрес для прикрепленных изображений следующим образом. Работает нормально.

if (has_post_thumbnail()) {
    $image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'medium'); 
}
Фархан
источник
1
<?php
    if (has_post_thumbnail( $post->ID ) ):
        $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' );
?>
        <img src="<?php echo $image[0]; ?>">  
<?php endif; ?>
Друвин Морадия
источник
1

Вы попробуете это

<?php $url = wp_get_attachment_url(get_post_thumbnail_id($post->ID), 'full'); ?> // Here you can manage your image size like medium, thumbnail, or custom size
    <img src="<?php echo $url ?>" 
/>
Вирусный М
источник
1

Я много искал и ничего не нашел, пока не получил это:

<?php echo get_the_post_thumbnail_url( null, 'full' ); ?>

Который просто дает вам полный URL-адрес изображения без всего <img>тега.

Надеюсь, что это может помочь вам.

Jodyshop
источник
0

Если сообщение является изображением, и мы уже знаем, что это за изображение, можно получить URL-адрес миниатюры без особых хлопот:

echo pathinfo($image->guid, PATHINFO_DIRNAME);
Гарри Бош
источник
0

Использование:

<?php 
    $image_src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'thumbnail_size');

    $feature_image_url = $image_src[0]; 
?>

Вы можете изменить thumbnail_sizeзначение в соответствии с вашим необходимым размером.

Мохаммад Фархан Атиф Уотту
источник
0

Вы также можете получить URL для вложений изображений следующим образом:

<?php
    "<div><a href=".get_permalink(id).">".wp_get_attachment_url(304, array(50,50), 1)."</a></div>";
?>
user3615759
источник
0

Просто внутри цикла напишите, <?php the_post_thumbnail_url(); ?>как показано ниже:

$args=array('post_type' => 'your_custom_post_type_slug','order' => 'DESC','posts_per_page'=> -1) ;
$the_qyery= new WP_Query($args);

if ($the_qyery->have_posts()) :
    while ( $the_qyery->have_posts() ) : $the_qyery->the_post();?>

<div class="col col_4_of_12">
    <div class="article_standard_view">
        <article class="item">
            <div class="item_header">
                <a href="<?php the_permalink(); ?>"><img src="<?php the_post_thumbnail_url(); ?>" alt="Post"></a>
            </div>

        </article>
    </div>
</div>            
<?php endwhile; endif; ?>
Радость
источник
-1
<img src="<?php echo get_post_meta($post->ID, "mabp_thumbnail_url", true); ?>" alt="<?php the_title(); ?>" width ="100%" height ="" />
Mizo Games
источник
Можете ли вы уточнить?
Питер Мортенсен