Як отримати WordPress розміщений URL-адресу зображення


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 } ?> )">
пагол

Велике спасибі! Цей код працює чудово.
Calum Childs

95

Якщо ви хочете ДУЖЕ джерело, а не масив з іншою інформацією:

<?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().
Charlie Vieillard

1
саме це мені було потрібно. завантажує повний img src. спасибі!
killscreen

1
wp_get_attachment_image_urlзастосовується лише в тому випадку, якщо вам відомий ідентифікатор вкладеного файлу (не посадочний ідентифікатор).
безумовно,

Я це шукав. Спасибі людина :)
Arman H



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); ?> Якщо ви хочете зображення в повному розмірі
агалад

7

Я думаю, що це найпростіше рішення та оновлене:

<?php the_post_thumbnail('single-post-thumbnail'); ?>

Той, що знаходиться вгорі, не спрацював (без помилок PHP, чого я не хотів, коли будую тему WordPress для мас), але цей зробив. +1
Calum Childs


6

Ви можете спробувати це:

<?php 
    $feat_image = wp_get_attachment_url(get_post_thumbnail_id($post->ID)); 
    echo $feat_image; 
?>

це тільки друк: '$ feat_image';
Стефан Йогансон

моя помилка його, відлуння $ 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

Ви також можете отримати 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.