How to show post meta data in category.php ? - Wordpress


I'm wondering if anyone can show me how to call post metadata (from custom fields) on a category page. I know meta('field-name') used on a post page will return the value for key "field-name" but how do I use that (or another similar function like it) on a category page.

Basicly, I want to do something like this:

They have the Post title ("Episodes") in one column and the post's custom field value ("Episode Title") in the one next to it.


The way I think about doing this would be to find a function that creates an array with all the post id's in a category.
$post_id_array = *get_post_ids_from_category*($current_category);

From there, feed that array into a foreach loop like this:

foreach ($post_id_array as $post_id) {
$episode_title_array[$post_id] = get_post_meta($post_id, $mykey);

After that you have to values and all that is left is to form the table

echo '<table>';
foreach ($post_id_array as $post_id) {
echo '<tr><td>';
echo '<a href="'.*post_url*($post_id).'" >'.*post_title*($post_id).'</a>';
echo '</td><td>';
echo '$episode_title_array[$post_id]';
echo '</td></tr>';
echo '</table>';


Note: In all code above, anything like *this* is made up/not an actual function.
Who is Participating?
Tony van SchaikConnect With a Mentor Front-end Web developerCommented:
You can try to make use of Category templates or Conditional tags and you can get the meta data like explained here: you can add those to the WP loop.
I'm using the custom fields with a category.php for my website here: for a different display of the posts and category. Check below for a snippet on how i used the custom fields and posts.

<!-- CONTENT -->
<div id="content">
  <?php if (have_posts()) : ?>
  <?php while (have_posts()) : the_post(); ?>
  <div class="item" onmouseover="this.className='item2'" onmouseout="this.className='item'">
    <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>">
      <?php the_title(); ?>
    <p><a class="ceebox snap_noshots" href="<?php $values = get_post_custom_values("url"); echo $values[0]; ?>" title="<?php the_title(); ?>" target="_blank"> <img class="video-thumb" src="<?php $values = get_post_custom_values("thumbs"); echo $values[0]; ?>" alt="<?php the_title(); ?>" /></a></p>
    <div class="comment-bottom"> Posted in
      <?php the_category(', ') ?>
      | <a title="<?php comments_number('no comments','1 comment','% comments'); ?>" href="<?php the_permalink() ?>">
      <?php comments_number('no comments','1 comment','% comments'); ?>
    <?php if( function_exists('ADDTOANY_SHARE_SAVE_BUTTON') ) { ADDTOANY_SHARE_SAVE_BUTTON(); } ?>
    <div class="clear"></div>
    <?php if(function_exists('the_ratings')) { the_ratings(); } ?>
  <!-- Item Div -->
  <?php endwhile; ?>
  <div class="clear"></div>
  <?php endif; ?>
<!-- /CONTENT -->

Open in new window

try this :

in list_cat_posts.php :


etc ...
musicmasteriaAuthor Commented:
Thanks for the help!
Tony van SchaikFront-end Web developerCommented:
You're welcome
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.