WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a custom post type called 'software', contained within are various custom fields such as subtitle, price, screenshots, download link, etc. I created a function to allow use of the tinyMCE edit window for some of these custom fields. I have been trying to display these fields on the page but with no success.

The method I'm using is this:

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

Here is a link to the page.

Below the <hr/> on the page is a list of all the meta created. The ONLY one of the fields which will display is 'price' for some strange reason.

Anyone have any idea what I'm missing?

share|improve this question
it is indeed the get_post_meta() function, and if you are calling it inside the loop, it should work... Unless you're not using the right custom field name. They often come with a prefix if they are implemented via a plugin like meta-box. Can you post the code how you declare your custom fields? A solution would be to open the wp_postmeta table in PhpMyAdmin and search the column meta_key for LIKE %...% and specify "subtitle" as meta_key value. You will see exactly under what name Wordpress is storing your custom field. – pixeline Sep 13 '13 at 16:37
I know this is old, but I use this sql to get a list of all meta fields in phpmyadmin: SELECT m.meta_key FROM wp_postmeta m GROUP BY m.meta_key – ssaltman Nov 10 '15 at 15:31
up vote 6 down vote accepted

Well, you are using:

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

So, you are saying to Wordpress to get the meta value of the 'subtitle' field and that the returned value be in format of string. See get_post_meta() docu.

To get all meta data of a post you should use get_post_custom() function instead. For example, if you are inside the loop:

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

This will return all meta data of the post. If you want to check, for example, the "price" meta field:

if(isset($custom['price']) {
    echo 'Price: '.$custom['price'];
share|improve this answer

use this code for solving your problem.

$key_name = get_post_custom_values($key = 'Key Name');
echo $key_name[0];
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.