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


144

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

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

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

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

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

Ответы:


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; ?>

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 ?>" />

 


Для версии 4.4.0 и выше wp_get_attachment_image_url().
Чарли Вейяр

1
это было именно то, что мне было нужно. загружает полный img src. Спасибо!
killscreen

1
wp_get_attachment_image_urlприменимо, только если вы знаете идентификатор вложения (не идентификатор сообщения).
конечно же,

Я искал это. Спасибо человеку :)
Арман Х



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 
    $feat_image = wp_get_attachment_url(get_post_thumbnail_id($post->ID)); 
    echo $feat_image; 
?>

это только печать: '$ 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);

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>тега.

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


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>";
?>

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; ?>

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.