WordPress Etiketlerini Etkin Kullanmak

WordPress etiketleri, ziyaretçilerin sitede kalma süresini arttırmak ve sayfalar arasında gezinmelerini sağlamak için en önemli araçlardan birisidir. Etiket sistemini aktif olarak kullanmak, ziyaretçilere “bu konuyla ilgili diğer yazıları okumak ister misiniz?” sorusunu sormak anlamına gelir. Sitemizi canlı tutmak için bu soruyu oldukça ilgi uyandıracak bir şekilde sormamız ve ziyaretçilerimizi etiketlere tıklamaya teşvik etmemiz gerekiyor. Peki bunu nasıl yapabiliriz? Devamını Oku »

WordPress İçin İçerik Botu Yazma Mantığı

Bazen oluşturduğum veri tabanlarındaki içerikleri, bazen de çeşitli sitelerden içerikleri CC BY-ND ve benzeri lisanslar ile yazı olarak WordPress’e aktarmam gerekiyor. Bunun için de doğal olarak içerik botu dediğimiz botları yazmaya ihtiyaç duyuyorum. Bu yazımda, botlar ile çektiğimiz içerikleri WordPress’e nasıl eklediğimizden bahsedeceğim.

Senaryomuz open source bir kaynak olan TMDb’den filmleri çekerek sitemize eklemek olsun. Bunun için file_get_contents() gibi bir fonksiyonla siteye bağlandığımızı CURL fonksiyonu ile de içeriklerimizi çektiğimizi ve değişkenlerimize tanımladığımızı varsayıyorum. Elimizdeki değişkenlerimiz şunlar olsun;

$filmadi
$yonetmen
$filmaciklamasi
$filmturu
$oyuncular

Şimdi bu değişkenlerimizin içeriğini WordPress’e yazı olarak ekleyelim.

Bunun için wp_insert_post fonksiyonundan yararlanacağız. Ancak öncellikle dikkat etmemiz gereken şey, bu fonksiyon ile bir post insert etmeden, yani eklemeden önce eklenecek yazının başlığı, içeriği, kategorisi gibi değişkenleri tanımlamalıyız.

Fonksiyonumuzun varsayılan dizimi şöyle;

$defaults = array(
  'post_status' => 'draft',
  'post_type' => 'post',
  'post_author' => $user_ID,
  'ping_status' => get_option('default_ping_status'),
  'post_parent' => 0,
  'menu_order' => 0,
  'to_ping' =>  '',
  'pinged' => '',
  'post_password' => '',
  'guid' => '',
  'post_content_filtered' => '',
  'post_excerpt' => ''
);

Kullanabileceğimiz parametreler ise şunlar;

$post = array(
  'comment_status' => [ 'closed' | 'open' ] // 'closed' yoruma kapalı.
  'ID' => [  ] //Eğer bu değer varsa ilgili yazı güncellenir.
  'menu_order' => [  ] //Yeni yazı bir sayfa ise menü sırası.
  'page_template => [  ] //Sayfa için şablon belirtir.
  'ping_status' => [ ? ] //Ping durumu?
  'pinged' => [ ? ] //?
  'post_author' => [  ] //Yazarın kullanıcı ID'si.
  'post_category => [ array(, ) ] //Yazı kategorileri.
  'post_content' => [  ] //Yazının içeriği.
  'post_date' => [ Y-m-d H:i:s ] //Yazılma zamanı.
  'post_date_gmt' => [ Y-m-d H:i:s ] //Yazının yerel saatteki yazılma zamanı.
  'post_excerpt' => [  ] //Yazı özeti.
  'post_parent' => [  ] //Yazının bağlı bulunduğu ana sayfası.
  'post_password' => [ ? ] //Yazı için gerekliyse parola.
  'post_status' => [ 'draft' | 'publish' | 'pending' ] //Yeni yazının yayımlanma durumu. Taslak, yayımlanmış, onay bekliyor.
  'post_title' => [  ] //Yazının başlığı.
  'post_type' => [ 'post' | 'page' ] //Yazının türü, yazı, sayfa.
  'tags_input' => [ ', , ' ] //Etiketler.
  'to_ping' => [ ? ] //?
);

Şimdi bu değişkenlerin temel olanlarını kullanarak yazımızı ekleyelim;

$my_post = array();
$my_post['post_title'] = $filmadi[0];
$my_post['post_content'] = $filmaciklamasi[0];
$my_post['post_status'] = 'pending';
$my_post['post_author'] = 1;
$my_post['post_category'] = array(1);
$my_post['tags_input'] = $filmturu[0]. " , " .$oyuncular[0]. " , " .$yonetmen[0];

wp_insert_post( $my_post );

Buraya kadar olan kısım temel, basit bir yazı eklemek. Elbette ki bir film içeriği yukarıdaki gibi düz yazı olarak eklenmez. Mutlaka temamızda yönetmen, oyuncu, filmin türü gibi birçok bilgiyi girdiğimiz özel alanlar vardır. İşte bu alanlara bilgi ekleyebilmek için de add_post_meta ya da update_meta_post fonksiyonlarını kullanabilirsiniz.

Ayrıca en çok sorulan sorulardan birisi de çekilen görsellerin nasıl öne çıkarılmış görsel olarak ayarlanabileceği oluyor. Bunun için de WordPress’in the_post_thumbnail fonksiyonuna ihtiyacınız olacak. Bu fonksiyonla tanımladığınız görsellerin boyutlarını belirlemek için de set_post_thumbnail_size fonksiyonunu kullanabilirsiniz.

WordPress Masaüstü Uygulaması ile Yazarken İçeriğinize Odaklanın

WordPress Masaüstü Uygulaması

Tarayıcı üzerinden içerik hazırlamayı blog yazarları için en zor işlerden birisi olarak görüyorum. Takıldığınız zaman yan sekmedeki sosyal medya hesaplarına gözünüzün kayması ya da hazırladığınız içeriklere görsel öğeler yerleştirmek can sıkıncı olabiliyor. Tarayıcıların ve sunucuların yavaşlığı da bunlara eklenince, basit bir içerik için bile oldukça fazla zaman harcayabiliyorsunuz.

Bu sorunu yaşamamak adına uzun yıllar boyunca Windows Live Writer uygulamasını kullandım. Live Writer’ın sonrasında da içeriğimi metin dosyalarında hazırlayıp, hazır içeriği kopyala-yapıştır yöntemi ile aktarma yoluna gittim. Bir seneyi aşkın bir süredir de WordPress Masaüstü Uygulaması‘nı kullanıyorum.

Responsive tasarımı sayesinde her boyuta kullanılabilmesi, hızlı olması ve doğrudan içeriğe odaklanılmasına daha çok imkan tanıması uygulamayı oldukça kullanışlı kılıyor. Bu artılarının yanında en büyük eksiği ise önizleme özelliğini uygulama içerisinde yapmıyor oluşu diyebilirim. Windows Live Writer’ın en sevdiğim özelliği buydu; bloğunuzun teması ne olursa olsun uygulama içerisinde önizleme yapabiliyordunuz.

Ayrıca resmi uygulamada henüz özel alan tanımlaması da yapılamadığını da belirteyim. Bu konuda oldukça fazla istek yapıldığı için, geliştirmeler sürüyormuş, ilk güncelleme ile beraber bu özelliğin gelmesi bekleniyor. Kısacası, uygulama metin ağırlıklı içerik hazırlayanlar için oldukça kullanışlı olsa da, tema destekli içerik hazırlayanlar için şimdilik pek kullanışlı değil. Yine de indirip el altında tutmanızda, güncellemeleri takip etmenizde fayda var diyebilirim.

WordPress Siteniz İçin Swiftype Eklentisi Alternatifleri

wordpress-swiftype-eklentisi

Swiftype Nedir?

Swiftype, site içeriğinizden özel bir veritabanı oluşturarak sitenizdeki arama formlarına otomatik tamamlama özelliği getiren ve arama formunun istatistik verilerini sunan oldukça kullanışlı bir servistir. WordPress için eklenti ile kolay kurulabilir olması bu servisi oldukça popüler yapsa da, yüksek ücreti sebebiyle birçok kullanıcı alternatif bir servis kullanmaya daha sıcak bakıyor. Swiftype’a alternatif arayanlar için bir araştırma yaptım ve en iyi alternatifleri listeledim. Devamını Oku »

WordPress’in 10. Yaşını Kutluyoruz

WordPress Günleri

2010 yılında BİE’de,  WordPress’in kurucusu Matt Mullenweg‘in de katıldığı oldukça keyifli bir WordCamp etkinliği düzenlemişti. Lakin sonraki iki yıl boyunca çok istesek de maalesef WordCamp Türkiye’nin devamı gelmemişti.

Bu yıl ise, WordPress’in ülkemizde iyice popülerleşmesiyle beraber oluşan ihtiyaca bir karşılık vermek adına, WordPress Türkiye Ekibi yeni etkinlikler düzenleyerek WordPress kullanıcılarını ve geliştiricilerini buluşturmakta oldukça kararlı görünüyor. Devamını Oku »