WordPress hali hazırda sizin belirttiğiniz meta değerlerini (metakey) çekme yetisine sahip fonksiyonları barıdnrıyor. Ama bununla yetinemeyecek olduğunu düşündüğümüz arkadaşlar için bir fonksiyonum var. Bir yazıya ait tüm meta değerleri getiren bu fonksiyonu kullanmak çok kolay. Kodu functions.php
dosyasının içerisine aktarın ve nerede istiyorsanız (misal single.php
) kullanın. Bu fonksiyon çağırıldığında dönen veri tüm meta verilerini dökecektir.
Kod
Bu kodu kullanabilmek için functions.php
dosyanıza eklemeniz gerektiğini ve ondan sonra da çağırmanız gerektiğini unutmayın. burada söylediğim çağırmak fonksiyonu benim _fonksiyonum();
olarak kullanmak anlamındadır.
function get_post_meta_all($post_id){ global $wpdb; $data = array(); $wpdb->query(" SELECT `meta_key`, `meta_value` FROM $wpdb->postmeta WHERE `post_id` = $post_id "); foreach($wpdb->last_result as $k => $v){ $data[$v->meta_key] = $v->meta_value; }; return $data; }
Güncelleme
Twitter üzerinden aldığım geri dönüşler doğrultusunda WordPress üzerinde bulunan kodu da ekleyeyim. WordPress’in kök paketinde bulunan get_post_meta()
fonksiyonu da aynı işi yapmakta. Custom query buaşan fonksiyonları sevmiyorsanız ya da bu şekile veritabanından data çekmek istemiyorsanız aşağıdaki düzeni kullanabilirsiniz.
get_post_meta($post->ID);
Selametle