Saya memiliki jenis posting khusus yang disebut 'perangkat lunak', yang terdapat di dalamnya adalah berbagai bidang khusus seperti subtitle, harga, tangkapan layar, tautan unduhan, dll. Saya membuat fungsi untuk memungkinkan penggunaan jendela edit tinyMCE untuk beberapa bidang khusus ini. Saya telah mencoba untuk menampilkan bidang-bidang ini pada halaman tetapi tidak berhasil.
Metode yang saya gunakan adalah ini:
<h1><?php the_title();?></h1>
<h3><?php echo get_post_meta(get_the_ID(), 'subtitle', TRUE); ?></h3>
Berikut ini tautan ke halaman tersebut.
Di bawah <hr/>
halaman ini adalah daftar semua meta yang dibuat. HANYA salah satu bidang yang akan ditampilkan adalah 'harga' untuk beberapa alasan aneh.
Adakah yang tahu apa yang saya lewatkan?
get_post_meta()
fungsinya, dan jika Anda memanggilnya di dalam loop, itu harus berfungsi ... Kecuali Anda tidak menggunakan nama bidang kustom yang tepat. Mereka sering datang dengan awalan jika diterapkan melalui plugin seperti meta-box. Bisakah Anda memposting kode bagaimana Anda mendeklarasikan bidang khusus Anda? Solusinya adalah dengan membuka tabel wp_postmeta di PhpMyAdmin dan cari kolommeta_key
LIKE% ...% dan tentukan "subtitle" sebagai nilai meta_key. Anda akan melihat persis di bawah nama apa Wordpress menyimpan bidang khusus Anda.Jawaban:
Nah, Anda menggunakan:
Jadi, Anda mengatakan kepada Wordpress untuk mendapatkan nilai meta dari bidang 'subtitle' dan bahwa nilai yang dikembalikan dalam format string. Lihat get_post_meta () docu .
Untuk mendapatkan semua data meta dari sebuah pos, Anda harus menggunakan fungsi get_post_custom () . Misalnya, jika Anda berada di dalam loop:
Ini akan mengembalikan semua data meta pos. Jika Anda ingin memeriksa, misalnya, bidang meta "harga":
sumber
$custom['price']
mengembalikan array sehingga Anda mungkin perlu melakukannya$custom['price'][0]
gunakan kode ini untuk menyelesaikan masalah Anda.
sumber