Sayfadaki özel alanların değeri nasıl görüntülenir


17

İçinde altyazı, fiyat, ekran görüntüleri, indirme bağlantısı vb. Gibi çeşitli özel alanlar bulunan 'yazılım' adı verilen özel bir yazı türüm var. Bu özel alanların bazıları için tinyMCE düzenleme penceresinin kullanımına izin vermek için bir işlev oluşturdum. Bu alanları sayfada görüntülemeye çalışıyorum, ancak başarılı olamadım.

Kullandığım yöntem şudur:

<h1><?php the_title();?></h1>
<h3><?php echo get_post_meta(get_the_ID(), 'subtitle', TRUE); ?></h3>

İşte sayfaya bir bağlantı .

<hr/>Sayfanın altında oluşturulan tüm metaların bir listesi bulunmaktadır. Görüntülenecek alanlardan SADECE biri garip bir nedenden dolayı 'fiyat'.

Neyi kaçırdığımı bilen var mı?


gerçekten bir get_post_meta()işlevdir ve döngü içinde çağırıyorsanız, çalışmalıdır ... Doğru özel alan adını kullanmadığınız sürece. Meta-box gibi bir eklenti ile uygulandıklarında genellikle bir önekle birlikte gelirler. Özel alanlarınızı nasıl bildirdiğinizi kodu gönderebilir misiniz? Bir çözüm PhpMyAdmin içinde wp_postmeta tablosunu açmak ve meta_keyLIKE% ...% sütununu aramak ve meta_key değeri olarak "altyazı" belirtmek olacaktır. Wordpress'in özel alanınızı tam olarak hangi ad altında sakladığını göreceksiniz.
pixeline

Bu eski olduğunu biliyorum, ama phpmyadmin tüm meta alanların bir listesini almak için bu sql kullanın: SELECT m.meta_key wp_postmeta m GROUP BY m.meta_key
ssaltman 10:15

Yanıtlar:


17

Eh, kullanıyorsunuz:

get_post_meta(get_the_ID(), 'subtitle', TRUE);

Yani, Wordpress'e 'altyazı' alanının meta değerini almasını ve döndürülen değerin dize biçiminde olmasını söylüyorsunuz. Bkz. Get_post_meta () docu .

Bir yayının tüm meta verilerini almak için bunun yerine get_post_custom () işlevini kullanmanız gerekir. Örneğin, döngünün içindeyseniz:

$custom = get_post_custom();
foreach($custom as $key => $value) {
     echo $key.': '.$value.'<br />';
}

Bu, yayının tüm meta verilerini döndürür. Örneğin, "fiyat" meta alanını kontrol etmek istiyorsanız:

if(isset($custom['price'])) {
    echo 'Price: '.$custom['price'][0];
}

Son kod bloğu eksik a)
carbide20

1
$custom['price']Bir dizi döndürdüğü anlaşılıyor, böylece yapmanız gerekebilir$custom['price'][0]
wal

3

sorununuzu çözmek için bu kodu kullanın.

$key_name = get_post_custom_values($key = 'Key Name');
echo $key_name[0];
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.