Online Kimya Özel Dersi Al

ÜCRET

KONU

TARİH

Wp_get_attachment_url()

WordPress Fonksiyonları
wp_get_attachment_url( int $ortam_dosyasının_id_değeri )

Açıklaması:

Temamızın ortam kütüphanesine yüklediğimiz resim, video gibi ortam dosyalarının URL ifadelerini getirmek için kullanılır.

Parametreleri:

$ortam_dosyasının_id_değeri

(int) Getirmek istediğimiz ortam dosyasının ID değeridir.

Bir resmin ID değerini bulmanın yollarında biri, yönetim panelinden Ortam->Kütüphane sayfasına giderek, resme tıklamak ve açılan sayfanın adres çubuğuna dikkat etmektir. Adres çubuğunda şuna benzer bir URL ifadesi görülecektir:

https://sitecenneti.com/wp-admin/upload.php?item=14

Yukarıda görülen URL ifadesindeki 14 sayısı, ekrandaki resmin ID değeridir.

Döndürdüğü değer:

Ortam dosyasına ait URL ifadesini döndürür, dosyayı bulamazsa false değerini döndürür.

Örnek-1

wp_get_attachment_url(1827);

Yukarıda verilen kod, ID değeri 1827 olan ortam dosyasına ait aşağıdaki URL ifadesini döndürür:

"https://sitecenneti.com/wp-content/uploads/2019/06/ornek-resim.jpg"

Kaynak kodu:

Dizini : wp-includes/post.php

function wp_get_attachment_url( $attachment_id = 0 ) {
    $attachment_id = (int) $attachment_id;
    if ( ! $post = get_post( $attachment_id ) ) {
        return false;
    }
 
    if ( 'attachment' != $post->post_type ) {
        return false;
    }
 
    $url = '';
    // Get attached file.
    if ( $file = get_post_meta( $post->ID, '_wp_attached_file', true ) ) {
        // Get upload directory.
        if ( ( $uploads = wp_get_upload_dir() ) && false === $uploads['error'] ) {
            // Check that the upload base exists in the file location.
            if ( 0 === strpos( $file, $uploads['basedir'] ) ) {
                // Replace file location with url location.
                $url = str_replace( $uploads['basedir'], $uploads['baseurl'], $file );
            } elseif ( false !== strpos( $file, 'wp-content/uploads' ) ) {
                // Get the directory name relative to the basedir (back compat for pre-2.7 uploads)
                $url = trailingslashit( $uploads['baseurl'] . '/' . _wp_get_attachment_relative_path( $file ) ) . wp_basename( $file );
            } else {
                // It's a newly-uploaded file, therefore $file is relative to the basedir.
                $url = $uploads['baseurl'] . "/$file";
            }
        }
    }
 
    /*
     * If any of the above options failed, Fallback on the GUID as used pre-2.7,
     * not recommended to rely upon this.
     */
    if ( empty( $url ) ) {
        $url = get_the_guid( $post->ID );
    }
 
    // On SSL front end, URLs should be HTTPS.
    if ( is_ssl() && ! is_admin() && 'wp-login.php' !== $GLOBALS['pagenow'] ) {
        $url = set_url_scheme( $url );
    }
 
    /**
     * Filters the attachment URL.
     *
     * @since 2.1.0
     *
     * @param string $url           URL for the given attachment.
     * @param int    $attachment_id Attachment post ID.
     */
    $url = apply_filters( 'wp_get_attachment_url', $url, $post->ID );
 
    if ( empty( $url ) ) {
        return false;
    }
 
    return $url;
}

Kullanımı:

Örnek-1

Wp_get_attachment_url() fonksiyonunun, şablon dosyalarında temel kullanımı şöyledir:

<?php echo wp_get_attachment_url( 12 ); ?> 

Örnek-2

Aşağıdaki örnek, her bir yazının öne çıkan görselini o yazıda arkaplan resmi olarak kullanır:

<?php

if ( have_posts() ) : while ( have_posts() ) : the_post(); 
    if ( has_post_thumbnail() ) {
        $one_cikan_gorsel_url = wp_get_attachment_url( get_post_thumbnail_id() );
        echo '<div style="background-image:url('.$one_cikan_gorsel_url.');"></div>';
    }
    endwhile;
endif;

?>

DERSİN SONU

Kimya Özel Dersi Al

Yorum yaparak bize destek olabilirsiniz.

Bir cevap yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Şu kadar HTML serbest:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>