Go Dilinde Concurrency

2,308 More

Projedeki Git Dosyaları Nasıl Silinir?

1 7,911 More

yTheme

4 2,689 More

Sunucu Güvenliği | SSH (Secure Shell) Kullanımı

2 2,167 More

Truemag

  • PHP
  • Golang
  • Laravel
  • Linux
  • SQL
  • SEO
  • WordPress
  • Diğer
    • Yazılım
    • Javascript
    • Css/XHtml/W3C
    • Genel
    • Tanıtım
    • Ajax
  • Home
  • ANASAYFA
  • HAKKIMDA
  • SPONSORLUK
  • ARŞİV
  • İLETİŞİM
  • BENİMLE ÇALIŞMAK İSTER MİSİNİZ?

WordPress SQL Cümleleri

WordPress için kod yazan geliştirici arkadaşlara faydası olması amacıyla bu zamana kadar kullandığım WordPress SQL cümlelerini bir araya getirerek yayınlamaya karar verdim. Bazen WordPress’in standart kodları ihtiyacınızı karşılamadığı benim yaptığım gibi veritabanına direk müdahalelere mecbur kalabiliyorsunuz. İşte böyle durumlarda bu SQL cümleleri hayatınızı ve üzerinde çalıştığınız projeyi kurtarabilir ;)

WordPress Yazı Sürümlerini silmek

PHP
1
2
DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision'

Kategoriye Göre En Çok Okunanlar

En güzel cümle ile başlamak istedim. Bildiğiniz gibi hangi yazının kaç kez okunduğunu öğrenmek için tüm dünyada en çok kullanılan eklentilerden birisi Hakan Demiray‘ın Sayfa Sayaç eklentisidir. Bu eklenti ile sitenizde en çok okunan yazıları da gösterebilirsiniz. Son çalıştığım projede benden görüntülenen yazının bulunduğu kategorideki en çok okunanları listelemem istendi. Bende bunun üzerine Hakan’ın eklentisine ufak bir yama yaptım. Yama ile beraber artık ID’sini belirttiğim kategorideki en çok okunanları seçebiliyorum. Bunu buradan yayınlayarak Hakan’a da eklentiyi güncellemesi konusunda bir fikir verebilirsem ne mutlu bana ;)

PHP
1
2
3
4
5
6
7
8
9
10
11
12
$tp = $wpdb->prefix;
$SQL = "SELECT *
FROM {$tp}posts, {$tp}posts_okunma, {$tp}term_relationships, {$tp}term_taxonomy
WHERE {$tp}posts.ID = {$tp}term_relationships.object_id
AND {$tp}term_relationships.term_taxonomy_id = {$tp}term_taxonomy.term_taxonomy_id
AND {$tp}term_taxonomy.taxonomy = 'category'
AND {$tp}term_taxonomy.term_id = '{$kat}'
AND {$tp}posts.ID = {$tp}posts_okunma.postID
AND post_status = 'publish'
AND post_type = 'post'
ORDER BY {$tp}posts_okunma.sayac_toplam
DESC LIMIT 0, $limit";

En Çok Yorumlananlar

Aşağıdaki kod ile en çok yorumlanan yazıları çekebilirsiniz.

PHP
1
$cokyorumalan = "SELECT  $wpdb->posts.ID, post_title, post_name, post_date, COUNT($wpdb->comments.comment_post_ID) AS 'comment_total' FROM $wpdb->posts LEFT JOIN $wpdb->comments ON $wpdb->posts.ID = $wpdb->comments.comment_post_ID WHERE comment_approved = '1' AND post_date_gmt < '".gmdate("Y-m-d H:i:s")."' AND post_status = 'publish' AND post_password = '' GROUP BY $wpdb->comments.comment_post_ID ORDER  BY comment_total DESC LIMIT $limit";

Kategorinin Yazıları

Belirli bir kategorinin yazılarını çekmek istiyorsanız aşağıdaki sorguyu kullanabilirsiniz. $kat değişkeni ilgili kategorinin ID’sidir.

PHP
1
2
3
4
5
6
7
8
9
10
$tp = $wpdb->prefix;
$yazisorgusu = "SELECT ID, {$tp}term_taxonomy.term_id as category_id, id AS post_id
FROM {$tp}posts, {$tp}term_relationships, {$tp}term_taxonomy
WHERE {$tp}posts.ID = {$tp}term_relationships.object_id
AND {$tp}term_relationships.term_taxonomy_id = {$tp}term_taxonomy.term_taxonomy_id
AND {$tp}term_taxonomy.taxonomy = 'category'
AND {$tp}term_taxonomy.term_id = '".$kat."'
AND post_status = 'publish'
AND post_type = 'post'
ORDER BY id DESC LIMIT 0, $limit";

Özel Alanda Arama

WordPress’in oldukça faydalı bir yanı da özel alanlarıdır. Bu özel alanlardan sadece birinde aşağıdaki kod ile arama yapabilirsiniz.

PHP
1
2
3
4
5
6
7
8
9
10
11
$querystr = "
SELECT wposts.*
FROM $wpdb->posts wposts,
$wpdb->postmeta wpostmeta
WHERE wposts.ID = wpostmeta.post_id
AND wpostmeta.meta_key = 'candy'
AND wpostmeta.meta_value = '$candy'
AND wposts.post_status = 'publish'
AND wposts.post_type = 'post'
ORDER BY wposts.post_date DESC
";

Birden Çok Özel Alanda Arama

Daha önce şurada bahsetmiştim ama konusu gelmişken buraya da yazmanın bir sakıncası olmaz sanırım.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$querystr = "
SELECT wposts.*
FROM $wpdb->posts wposts,
$wpdb->postmeta wpostmeta,
$wpdb->postmeta wpostmeta2
WHERE wposts.ID = wpostmeta.post_id
AND wposts.ID = wpostmeta2.post_id
AND wpostmeta.meta_key = 'candy'
AND wpostmeta.meta_value = '$candy'
AND wpostmeta2.meta_key = 'mood'
AND wpostmeta2.meta_value = '$mood'
AND wposts.post_status = 'publish'
AND wposts.post_type = 'post'
ORDER BY wposts.post_date DESC
";

Sizin de bildiğiniz güzel cümleler varsa ve iletirseniz bu arşivi genişletebiliriz.

Mar 7, 2009Erhan Yakut
Cloud Sunucu


hosting

Feedburner Adresinizi Değiştirmeyi Unutmayın!Ve Nihayet "SEO Teknikleri"
You Might Also Like
 
Google Proje Barındırma
 
yGiriş | Yakuter Giriş Betiği
Erhan Yakut
12 years ago 13 Comments Sql/MySql, Wordpresscümle, kod, özel alan, programlama, sorgu, Sql/MySql, Wordpress4,346
Sponsorlar

sponsor

sponsor

sponsor

sponsor
Bağlantılar
  • Beyazıt Kölemen
  • Domatessuyu
  • Lezzetli Robot Tarifleri
  • Ofizzo
  • PHP Dersleri
  • Wordpress Hosting
Random Posts
İdeal Form Kontrolü
19 Mayıs Atatürk’ü Anma Gençlik Ve Spor Bayramı
Varsın Kopyalasınlar
Linux Şenliği Değerlendirmesi
Javascript HTML Liste (ul, li) Fonksiyonu
sdafasdf
Hakkımda

Bilişim Teknolojileri alanında içerik üretmek üzere oluşturulmuş olan Yakuter.com 2006 yılında Erhan Yakut tarafından hayata geçirilmiştir. devamını okuyun…

CLOUD SUNUCU DESTEĞİ
2006-2020 © Yakuter