Kategoriler
Blog

WordPress’de görüntülenen sayfanın (url) bağlantısını yazdırmak

WordPress sitesinde o an görüntülenen sayfanın adresini göstermek.

WordPress’de görüntülenen sayfanın (url) bağlantısını yazdırmakBazen lazım oluyor mesela tarih, kategori, etiket arşivlerinde ziyaretçinin o an baktığı sayfanın kalıcı bağlantısını eklemek istersek bu fonksiyonu kullanabiliriz.

Aşağıdaki fonksiyon WordPress sitenizin tema fonksiyon yani functions.php dosyasına yazılarak kullanılabilir veya bunu eklenti yapıp da kullanabilirsiniz.

Fonksiyon şöyle;

function sayfa_url_ver_gulum()
{
    global $wp_query;
    global $wpdb;
    $url = "";
    if (is_category()) {
        $cat_id = $wp_query->query_vars["cat"];
        $url = get_category_link($cat_id);
    } elseif (is_tag()) {
        $tag_name = $wp_query->query_vars["tag"];
        $tag_id = $wpdb->get_var(
            "SELECT " .
                $wpdb->terms .
                ".term_id FROM $wpdb->term_taxonomy
LEFT JOIN $wpdb->terms
ON (" .
                $wpdb->term_taxonomy .
                ".term_id = " .
                $wpdb->terms .
                ".term_id)
WHERE " .
                $wpdb->terms .
                ".slug = '$tag_name'
AND " .
                $wpdb->term_taxonomy .
                ".taxonomy = 'post_tag'
LIMIT 1"
        );
        $url = get_tag_link($tag_id);
    } elseif (is_author()) {
        $author_id = $wp_query->query_vars["author"];
        $url = get_author_posts_url($author_id);
    } elseif (is_date()) {
        $year = $wp_query->query_vars["year"];
        $month = $wp_query->query_vars["monthnum"];
        $day = $wp_query->query_vars["day"];
        if ($wp_query->query_vars["day"]) {
            $url = get_day_link($year, $month, $day);
        } elseif ($wp_query->query_vars["monthnum"]) {
            $url = get_month_link($year, $month, $day);
        } elseif ($wp_query->query_vars["year"]) {
            $url = get_year_link($year, $month, $day);
        }
    } else {
        $url = get_bloginfo("url");
    }
    //ensure trailing slash
    if ("/" != substr($url, -1)) {
        $url = $url . "/";
    }
    return $url;
}

Fonksiyonu çalıştırmak için şöyle bir kod eklemeniz gerekir;

<?php echo sayfa_url_ver_gulum(); ?>

Fonksiyon kelimesi İngilizce function kelimesinden geliyor programlama dillerinde de function olarak yazarız, tam Türkçesi işlev, bu mesleki bir konu ve işlev kelimesi de meslek içerisinde sık kullanılmayan bir kelime olduğu için bilinen fonksiyon kelimesini kullanmak daha doğru oluyor diye düşünüyorum, siz isterseniz evde veya kendi yerinizde buna işlev diyebilirsiniz.