Thursday, November 21, 2024

WordPress Fonksiyonları

WordPress tema dosyaları wp-content/themes klasörü içindeki seçtiğiniz tema dosyasında bulunmaktadır. Oluşturduğumuz tema dosyaları ve projeleri bu klasörde toplanmaktadır. WordPress temaları içlerinde birden çok bir sürü dosya türü barındırmaktadır. Bu makalemde wordpress tema yapımındaki sayfaların anlamını işlevlerini anlatacağım.

By , in Wordpress on . Tagged width: , , , ,

Style.css

Stil dosyası wordpress temalarının içinde barındırılması zorunlu olan dosya türlerindendir.Oluşturduğumuz tema dosyalarının içinde stil dosyası bulunmadığı sürece , o dosyalar wordpress tarafından tema olarak görünmezler.

İndex.php

header.php, footer.php, sidebar.php gibi alanları kontrol eden dosya türlerini, fonksiyonlar yardımıyla içine çağırıp kullanıcıya sunan bir dosya türüdür. Ayrıca ana sayfadaki listelenen içeriklere ait fonksiyonlar ve html/css kodları index.php içinde tanımlanır.

Header.php

Site tasarımlarının en üst bölümüdür. Header bölümüne ait kodları ve html/css kodlarını içinde bulunduran dosya türüdür. Tasarımınızın bütün css ve başlık yapıları bu dosyada barınamaktadır.

Footer.php

Site tasarımlarının en alt bölümüdür.
Genel amacı; yasal bilgilendirme ve iletişim odaklıdır. WordPress admin paneli,eklenti bilgileri vs, footer üzerinden çekmekte…

Sidebar.php

Site içinde gezinmeyi kolaylaştırmak için tema bu dosyayı barındırmaktadır. Amacı Bazı sabit yazı vb. şeyleri her sayfada göstermesi ve başka sayfadan giren kullanıcıların bu bilgileri görmesini sağlamaktır.

Page.php

Genel olarak amacı iletişim sayfaları yada sabit, değişmeyen makaleleri barındırmakla yükümlüdür.

Single.php

Devamlı eklediğimiz ve değişkenlik gösteren sayfaları temsil etmektedir.

Search.php

Sitelede ortaya çıkan arama kutularını WordPress tabanlı bir sistemde görevi üslenen dosya search.php’dir.

Category.php

Yayınlamış olduğunuz içerikleri, belirli kategorilerin ismini ve içerisindeki yazıları göstermeyi üstlenen dosya türüdür.

Functions.php

WordPress sisteminin güzeliklerinden bu dosya türü ile faydalanarak temanıza ekleyebilirsiniz.

Archive.php

Yayınlanmış olan yazıların sistem tarafından otomatik tarihe göre sınıflandırılmış arşiv dosyalarını bu dosya türü sayesinde temanızda gösterebilirsiniz.

Author.php

Yayınlamış olduğunuz yazıların kim tarafından yazıldıklarını belirten dosya türüdür.

Tag.php

Tag (Etiket); İçeriklerin arama motorlarına daha iyi tanıtmak amacı ile oluşturuluş bu sistemi içerisinde barındıran dosya türüdür.

404.php

Ziyaretçilerin sayfada aramış olduğu kelimede herhangi bir içerik bulunmadığında varsayılan olarak bir uyarı mesajı ile karşılaştığı sayfayı üstlenen dosya türüdür.

Genel Fonksiyonlar:
<?php get_header(); ?> // Üst Bölüm Fonksiyonu
<?php get_sidebar(); ?> // Yan Bölüm Fonksiyonu
<?php get_footer(); ?> // Alt Bölüm Fonksiyonu
<?php comments_template(); ?> // Yorum Şablonu Fonksiyonu

Tema İçerik Kodları:
<?php the_title(); ?> // Yazı yada Sayfa Başlığı
<?php the_content(); ?> // Yazı yada Sayfa İçeriği
<?php the_excerpt(); ?> // Yazı yada Sayfa Alıntı İçeriği
<?php the_time(); ?> // Yazı yada Sayfa Yayımlanma Zamanı
<?php the_date(); ?> // Yazı yada Sayfa Yayılanma Tarihi
<?php the_permalink(); ?> // Yazı Adresi (URL)
<?php the_category(); ?> // Yazının Yer Aldığı Kategori
<?php the_author(); ?> // Yazıyı Yazan Yazar
<?php the_ID(); ?> // Yazı ID’si (Örneğin; https://buraksah.in/p?=02)
<?php wp_list_pages(); ?> // Sayfaları Listele
<?php wp_tags(”,’,’,”); ?> // Etiketleri Listele
<?php wp_tag_cloud(); ?> // Etiket Bulutu
<?php wp_lists_cats(); ?> // Kategorileri Listele
<?php get_calender(); ?> // Takvimi Göster
<?php wp_get_archives(); ?> // Yazı Arşivi
<?php posts_nav_link(); ?> // Önceki / Sonraki Yazı
<?php next_post_link(); ?> // Sonraki Yazı
<?php previous_post_link(); ?> // Önceki Yazı
<?php edit_post_link(__(‘Düzenle’)); ?> // Yazıyı Düzenle
<?php wp_register(); ?> // Bloga Kayıt Ol
<?php wp_loginout(); ?> // Giriş yada Çıkış Yap
<?php wp_meta(); ?> // Yönetici Kısayolları
<?php get_links_list(); ?> // Bağlantıları Göster

Blog Bilgi:
<?php bloginfo(‘name’); ?> // Blog Adı
<?php bloginfo(‘charset’); ?> // Karakter Kümesi
<?php bloginfo(‘description’); ?> // Blog Açıklaması
<?php bloginfo(‘url’); ?> // Blog Adresi
<?php bloginfo(‘rss2_url’); ?> // Blog Besleme (Feed) Adresi
<?php bloginfo(‘template_url’); ?> // Tema Adresi
<?php bloginfo(‘pingback_url’); ?> // Geri İzleme Adresi
<?php bloginfo(‘stylesheet_url’); ?> // Still Dosyası Adresi
<?php bloginfo(‘version’); ?> // WordPress Sürümü

Tema Açıklaması (Style.css):
/*
Theme Name:UFOSS Tema
Theme URI: http://www.ufoss.com
Description: Kişisel Blog WordPress Teması
Author: Ugur Demirci
Author URI: http://www.ufoss.com
Version: 1.x
Tags: tema, blog
*/

 

Title (Sayfa Başlığı)

<title><?php wp_title( '-', true, 'right' ); ?><?php bloginfo('name'); ?></title>

Sayfaları Listeleme

<?php wp_list_pages('title_li='); ?>

Temel WordPress Kodları

WordPress tema yapımında kullanılan WordPress kodları ile başlayalım.

<?php wp_head(); ?>

wp_head ve wp_footer

<head> … </head> etiketleri arasındaki kodları çağırmaya yarar.
</head>” etiketinden önce kullanılması gerekir.

<?php wp_footer(); ?>

Sayfanızın altındaki wp_footer fonksiyonunun içeriğini yazdırır.
</body>” etiketinden önce kullanılması gerekir.

Tema adresi :

Bu fonksiyon direkt olarak tema klasörünün url’sini almanızı sağlar.

<?php bloginfo('template_url'); ?>/

Blog adı

<?php bloginfo('name'); ?>

Ana dizin url adresi

<?php bloginfo('url'); ?>

RSS adresi

<?php bloginfo("rss2_url"); ?>

Karakter kodlaması

<?php bloginfo("charset"); ?>

Blog açıklaması

<?php bloginfo("description"); ?>

Blog adresi

<?php bloginfo("url"); ?>

Stil dosyası adresi

<?php bloginfo("stylesheet_url"); ?>

WordPress versiyonu

<?php bloginfo("version"); ?>

Dosya Bağlantıları

WordPress’te oluşturduğunuz şablon dosyaları için include kullanmanıza gerek yok. Hazır fonksiyonlar ile header, footer, sidebar gibi bölümleri istediğiniz yere ekleyebilirsiniz.

header.php

<?php get_header(''); ?>

sidebar.php

<?php get_sidebar(''); ?>

footer.php

<?php get_footer(''); ?>

searchform.php

<?php get_search_form($echo); ?>

Listeleme Fonksiyonları

Bu listeleme fonksiyonları özelleştirebilirsiniz. Bunun için başlıkların yanına o fonksiyona ait codex sayfalarını da ekliyorum.

Kategorileri listeleme : (Codex)

<?php wp_list_cats($args); ?>

Sayfaları Listeleme : (Codex)

<?php wp_list_pages($args); ?>

Arşivleri Listeleme : (Codex)

<?php wp_get_archives($args) ?>

Yazarları Listeleme : (Codex)

<?php wp_list_authors($args); ?>

Takvim : (Codex)

<?php get_calendar(''); ?>

Özel menüyü listeler

<?php wp_nav_menu(); ?>

Single.php (İç sayfa)

Döngü başlangıcı ve bitişi arasında yer alacak olan kodlar iç sayfa içerisinde o yazıya ait bilgilerin listeleneceği alandır.

Döngü başlangıcı :

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

Döngü bitişi :

<?php endwhile; else : endif; wp_reset_query(); ?>

Yazı ID

<?php the_ID(); ?>

Yazı başlığı

<?php the_title("); ?>

Yazı adresi

<?php the_permalink(") ?>

Yazı kategorisi

<?php the_category(", ") ?>

Yazı Etiketi

<?php the_tags( '', ', ', ''); ?>

Yazı tarihi

<?php the_time("F j Y"); ?>

 Yazı Saati

 <?php the_time("H:i:s"); ?>

Yazı içeriğini yazdırır

<?php the_content(); ?>

Yazı özetini yazdırır

<?php the_excerpt(); ?>

Yorum Şablonu : (comments.php)

<?php comments_template(''); ?>

Yazı düzenleme linki

<?php edit_post_link(''); ?>

Yorum Sayısı

<?php comments_number('Yorum Yok', '1 Yorum ', '% Yorum' );?>

Yazı okunma sayısı : (WP-PostViews eklentisi gerekir)

<?php if(function_exists("the_views")) { the_views(); } ?>

Yazar adı

<?php the_author(''); ?>

Yazar açıklaması

<?php the_author_description(''); ?>

Yazar adı ve soyadı

<?php the_author_firstname('') . " " . the_author_lastname("); ?>

Yazar sayfası adresi

<?php the_author_link('');?>

Yazar web sitesi

<?php the_author_url(''); ?>

Yazar mail adresi

<?php the_author_email('');?>

Sonraki yazı linki

<?php next_post_link('') ?>

Önceki yazı linki

<?php previous_post_link('') ?>

Öne çıkarılmış görsel (Thumbnail)

Eklenecek kodlar ;

functions.php

Önce çıkarılan görsel kullanmanız için öncelikle function.php dosyanıza aşağıdaki kodu eklemeniz gerekiyor. Bu dosya yok ise tema klasörünün içerisine function.php dosyası oluşturabilirsiniz.

add_theme_support( "post-thumbnails" );

Thumbnail Çekme Kodu

<?php the_post_thumbnail('full', array('class' => 'img-responsive','alt')); ?>

Faydalı WordPress kodları

Bileşen Tanımlama

 <?php if ( function_exists('register_sidebar') ) { register_sidebar(array( 'name' => 'Sağ Bölüm', 'before_widget' => ' ', 'after_widget' => '', 'before_title' => '', 'after_title' => '', )); } ?>

Bileşenin Gösterilmesi

<?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar() ) : else :?> <?php endif; ?>

Popüler Yazıları Listeleme

<?php
// WordPress popüler yazıları listeleme kodu
query_posts(array('meta_key' => 'views', 'orderby' => 'meta_value_num'));
while ( have_posts() ) : the_post();
//Listeleme iskeleti. Yani Listelemek istediğiniz html parça
endwhile;
wp_reset_query();
?>

Rastgele Yazıları Listeleme

Aşağıdaki koddaki showposts=5 yerine istediğiniz rakamı yazabilirsiniz. 10 tane göstermek için showposts=10 olmalı gibi.

<?php
// sorgu koşulu belirlenir
query_posts('showposts=5&orderby=rand');
while ( have_posts() ) : the_post();
//Listeleme iskeleti
endwhile;
wp_reset_query();
?>

WordPress Arama Formu Kullanımı

<form method="get" id="searchform" action="<?php bloginfo('url'); ?>">
<input class="searchbg" type="text" name="s" id="s" onfocus="if (this.value == 'Ara ...') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Ara ...';}" />
<input class="button" type="button" value="" />
</form>

Yorum Yapanın Yazar Linkini Kaldırma / Yorumlardaki Site Linklerini Kaldırma:

Her ne kadar WordPress sitenize yapılan yorumlardaki gravatar profilleri yorum yapan kişinin ismini o kişinin sitesine nofollow olarak linklese de, yani SEO konusunda sorun olmasa bile bazı durumlarda yapılan WordPress yorumlardaki linkleri kaldırmak için aşağıdaki kodu kullanabilirsiniz.

Alttaki kodu functions.php dosyanıza eklediğinizde ise sitenizin genelinde yorumlardaki site linklerini tamamen iptal edebilirsiniz.

<?php
/**
* Yorumlardaki site bağlantı Link adreslerini kaldırma kodu
/* ufoss.com */
*
* @return string $author
*/
function wpse218025_remove_comment_author_link( $return, $author, $comment_ID ) {
return $author;
}
add_filter( 'get_comment_author_link', 'wpse218025_remove_comment_author_link', 10, 3 );
?>