Excerpt özelleştirmesi

Excerpt özelleştirmesi son kısım için;

function new_excerpt_more( $more ) { return '..'; }
add_filter('excerpt_more', 'new_excerpt_more');

Excerpt özelleştirmesi kelime saysını değiştir;

function custom_excerpt_length( $length ) {	return 16; }
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );

Eklentinin güncelleme bildirimini gizlemek

WordPress temasının function.php dosyasına aşağıdaki kodu ekleyerek belli bir eklentinin güncelleme bildirimini admin ekranında gizleyebiliriz.

add_filter('site_transient_update_plugins', 'dd_remove_update_nag');
function dd_remove_update_nag($value) {
 unset($value->response[ plugin_basename('quick-event-manager/quick-event-manager.php') ]);
 return $value;
}

Conditional, şartlı sayfa şablonları

WordPress ile tek bir sayfa şablonunda şartlı kullanım yapılabilir.

<?php if (is_page()) { ?>
  Page ise burası.. 
<?php } elseif (is_single()) { ?>
  Tekil bir post ise burası..
<?php } elseif (is_category()) { ?>
  Kategori arşivi ise burası..
<?php } elseif (is_author()) { ?>
  Yazar arşivi ise burası..
<?php } elseif (is_home()) { ?>
  Anasayfa ise burası gösterilir.
<?php } else { ?>
<?php } ?>

Özel bir page, post, category vs ise is_page(‘hakkimizda’) ya da is_category(‘5’)şeklinde tek bir tanımlama da yapılabilir. Başka bir şekilde de eğer yazımız belli bir kategoriye aitse… şeklinde kullanılabilir.

<?php if (in_category('nikon')) { ?>
  Kategori bilgisi nikon ise bu kısmı göster..
<?php } elseif (in_category('canon')) { ?>
  Kategori bilgisi canon ise bu kısmı göster..  
<?php } else { ?>
<?php } ?>

WordPress toplam Kategori, Yorum ve Yazı Sayısı

WordPress tabanlı bir wesitesinde toplam Kategori, Yorum ve Yazı Sayısı bulma ve göstermek için kullanacağımız şablonun içerisinde aşağıdaki kodları ekliyoruz;

<?php
$toplam_yazi = wp_count_posts( 'post' );
$toplam_yazi = $toplam_yazi->publish;
$toplam_kategori = wp_count_terms('category');
$toplam_yorum = get_comment_count();
$toplam_yorum = $toplam_yorum['approved'];
echo 'Toplam '; echo $toplam_kategori; echo ' kategori, '; 
echo $toplam_yazi; echo ' yazı ve '; 
echo $toplam_yorum; echo' yorum bulunmaktadır.';
?>

Yazıya resim eklerken width height değerlerini eklememek

WordPresste herhangi bir yazıya resim eklediğimizde width height değerleri ile birlikte eklenir. Eğer bunu istemiyorsak, function.php dosyasına aşağıdaki satırları eklemeliyiz;

add_filter( 'get_image_tag', 'remove_width_and_height_attribute', 10 );
add_filter( 'use_default_gallery_style', '__return_false' );
add_filter( 'post_thumbnail_html', 'remove_width_and_height_attribute', 10 );
add_filter( 'image_send_to_editor', 'remove_width_and_height_attribute', 10 );
function remove_width_and_height_attribute( $html ) {
   return preg_replace( '/(height|width)="\d*"\s/', "", $html );
}

Admin Panelde post thumbnail göstermek

Aşağıdaki satırları function.php dosyasına ekliyoruz;

// admin Panelde post thumbnail 
add_filter('manage_posts_columns', 'posts_columns', 5);
add_action('manage_posts_custom_column', 'posts_custom_columns', 5, 2);
function posts_columns($defaults){
    $defaults['voodoo_post_thumbs'] = __('Resim');
    return $defaults;
}
function posts_custom_columns($column_name, $id){
	if($column_name === 'voodoo_post_thumbs'){
        echo the_post_thumbnail( array(80,80) );
    }
}

WordPress yazı sürümlerini (revision) durdurmak ve silmek

Yazı sürümlerinin kaydedilmesini durdurmak için wp-config.php dosyasına aşağıdaki satırı eklemeliyiz.

define('WP_POST_REVISIONS', false);

Ya da belirli bir sayıda kaydetmesini istiyorsak, örneğin son 3 adet sürümü saklamasını istiyorsak, aşağıdaki şekilde kullanmalıyız;

define ('WP_POST_REVISIONS',3);

Daha önceden kaydedilmiş tüm yazılarım tüm eski sürümlerini silmek istiyorsak, phpmyadmin ile database bağlantısı sağladıktan sonra aşağıdaki sorguyu çalıştırmalıyız.

DELETE FROM wp_posts WHERE post_type = "revision";

WordPress’i hızlandırmak için bazı değişken değerlerini direkt tanımlamak

Tema ve eklentilerimizde yer alam bazı değişkenleri en baştan tanımlayarak databaseden sorgulama yapmadan direkt olarak girdiğimiz değerlerin kabul edilmelerini sağlayabiliriz. Böylelikle sunucuya giden isteklerin bir kısmı azalmış olur ve wordpress bir miktar rahatlar. Örnek olarak aşağıdaki değerleri wp-config.php dosyasına girebiliriz;

define('WP_HOME', 'http://hakkiceylan.com');
define('WP_SITEURL', 'http://hakkiceylan.com');
define('TEMPLATEPATH', 'http://hakkiceylan.com/wp-content/themes/hc-2012');
define('STYLESHEETPATH', 'http://hakkiceylan.com/wp-content/themes/hc-2012');

WordPress güncellemelerinde ve eklenti kurulumlarında ftp bilgilerini sormasın

Bazı hostinglerin vrsayılan ayarları nedeniyle her wordpress güncellemesinde ya da eklenti kurulum veya silme işlemleri sırasında bizden ftp bilgilerini ister. Bunu otomatik hale getirmek için wp-config.php dosyasının içerisine aşağıdaki kodları eklememiz gerekir;

define("FTP_HOST", "ftp.example.com");
define("FTP_USER", "user");
define("FTP_PASS", "password");

WordPress’te farklı kategoriler için farklı single.php’ler

WordPress’te farklı kategorilerde bulunan yazılar için farklı tekil sayfa şablonları (single.php) kullanabiliriz. Bunun için öncelikle aşağıdaki kodu ya da uyarlayacağınız kodu single.php dosyası olarak kaydediyoruz. Sonrasında ise kodda yazılı olan ayrı şablonları oluşturuyoruz;

<!--?php $post = $wp_query--->post;
if (in_category('3')) {include(TEMPLATEPATH.'/haberler.php');}
elseif (in_category('5')) {include(TEMPLATEPATH.'/fotograflar.php');}
elseif (in_category('9')) {include(TEMPLATEPATH.'/videolar.php');}
else { include(TEMPLATEPATH . '/diger.php'); } ?> //

WordPress tema dosyalarına manual shortcode eklemek

Bazı pluginlerin yazı içerisinde kullanmamıza izin verdiği shortcode’ ları manual olarak temanın herhangi bir yerinde göstermek istediğimizde aşağıdaki kodu kullanabiliriz.

  <?php echo do_shortcode( $content ) ?> 

Örneğin;

 <?php echo do_shortcode( "[AFG_gallery id='2']" ); ?>

Değişik bir yöntem olarak aşağıdaki kod kullanılabilir;

<?php  $content = apply_filters('the_content', '<!--subscribe2-->'); echo $content; ?>

WordPress, aramalarında ve RSS beslemelerinde bazı kategorileri hariç tutmak

Sitenizde beslemelerde ya da aramalarda bazı kategorilerdeki yazıları göstermek istemiyorsanız, aşağıdaki kodları temanızın Tema fonksiyonları (functions.php) dosyasına uygun şekilde ekleyin.

function ExcludeCategory($query) {
  if ($query->is_feed) {
	$query->;set('cat','-25,-45');
	//RSS beslemelerinde 25. ve 45. kategorileri hariç tut
  }
  if ($query->is_search)  {
	$query->set('cat','-10,-15');
	//Aramalarda 10. ve 15. kategorileri hariç tut
  }
return $query;
}
add_filter('pre_get_posts','ExcludeCategory');