Title: conditional tags and using custom fields
Last modified: August 18, 2016

---

# conditional tags and using custom fields

 *  [ejm](https://wordpress.org/support/users/llizard/)
 * (@llizard)
 * [18 years, 7 months ago](https://wordpress.org/support/topic/conditional-tags-and-using-custom-fields/)
 * When there are custom fields filled in on my wordpress, I would like to use slightly
   different styles for some of the list items. I would also like to surround them
   with a border. And because not every post in uses the custom fields, I began 
   asking this question at the end of the thread entitled [display custom field only if value present?](http://wordpress.org/support/topic/124478)
   I hope it is permissible that I have started a new thread.
 * I have been using [Get Custom Field Values 2.1](http://www.coffee2code.com/archives/2004/06/30/plugin-get-custom/)
   but as I search for a solution to my problem, I see that this plugin does not
   work in wp2.2. In anticipation of eventual upgrade from wp2.0.11, I have tried
   to get a grasp on [http://codex.wordpress.org/Using_Custom_Fields](http://codex.wordpress.org/Using_Custom_Fields)
 * It is not exactly worded for the layperson…
 * With the help of other tutorials found by googling, I have managed to get most
   of it to work. The coding seems a bit heavy to me but there it is… The following
   produces listed items as expected. However, they are NOT surrounded by `<ul></
   ul>` as they would be if I simply used `<?php the_meta(); ?>`.
 *     ```
       $pubs = get_post_meta($post->ID, 'Publication', $single = false);
        foreach( $pubs as $pub ) {
       echo '<li class="publication"><strong>'.$pub.'"</strong></li>';
       }
   
       $pubtitles = get_post_meta($post->ID, 'Publication Title', $single = false);
        foreach( $pubtitles as $pubtitle ) {
       echo '<li class="pubtitle"><strong>'.$pubtitle.'"</strong></li>';
       }
   
       $cauthors = get_post_meta($post->ID, 'Publication Author', $single = false);
        foreach( $cauthors as $cauthor ) {
       echo '<li>By '.$cauthor.'"</li>';
       }
   
       $pubURLs = get_post_meta($post->ID, 'Publication URL', $single = false);
        foreach( $pubURLs as $pubURL ) {
       echo '<li><small>(<a href="'.$pubURL.' " title="offsite link">learn more by following this link</a>)</small></li>';
       }
       ```
   
 * After staring at [http://codex.wordpress.org/conditional_tags](http://codex.wordpress.org/conditional_tags),
   I tried the following:
 *     ```
       if (is_the_meta()) {
       echo '<ul class="post-meta">';
   
       $pubs = get_post_meta($post->ID, 'Publication', $single = false);
        foreach( $pubs as $pub ) {
       echo '<li class="publication"><strong>'.$pub.'"</strong></li>';
       }
   
       $pubtitles = get_post_meta($post->ID, 'Publication Title', $single = false);
        foreach( $pubtitles as $pubtitle ) {
       echo '<li class="pubtitle"><strong>'.$pubtitle.'"</strong></li>';
       }
   
       $cauthors = get_post_meta($post->ID, 'Publication Author', $single = false);
        foreach( $cauthors as $cauthor ) {
       echo '<li>By '.$cauthor.'"</li>';
       }
   
       $pubURLs = get_post_meta($post->ID, 'Publication URL', $single = false);
        foreach( $pubURLs as $pubURL ) {
       echo '<li><small>(<a href="'.$pubURL.' " title="offsite link">learn more by following this link</a>)</small></li>';
       } 
   
       echo '</ul>';
       }
       else {
       echo '';
       }
       ```
   
 * But of course, this is what appeared:
 * > Fatal error: Call to undefined function: is_the_meta()
 * Where in wp can I find the conditional tag to use to only show the unordered 
   list if the custom fields are filled in?
 * Thank you.
 * -ejm
 * P.S. Here is a post that has the custom fields filled in: etherwork.net/blog/?
   p=447
    and here is one that does not: etherwork.net/blog/?p=446
 * (Please refrain from making those URLs into live links – I’m really getting tired
   of spammers…)

Viewing 3 replies - 1 through 3 (of 3 total)

 *  [morgaine](https://wordpress.org/support/users/morgaine/)
 * (@morgaine)
 * [18 years, 1 month ago](https://wordpress.org/support/topic/conditional-tags-and-using-custom-fields/#post-635694)
 * I ‘solved’ it like this:
 * In post-template.php, around line 216, you’ll find:
 *     ```
       function the_meta() {
       	global $id;
   
       	if ( $keys = get_post_custom_keys() ) {
       		echo "<ul class='post-meta'>\n";
       		foreach ( $keys as $key ) {
       			$keyt = trim($key);
       			if ( '_' == $keyt{0} )
       				continue;
       			$values = array_map('trim', get_post_custom_values($key));
       			$value = implode($values,', ');
       			echo "<li><span class='post-meta-key'>$key:</span> $value</li>\n";
       		}
       		echo "</ul>\n";
       	}
       }
       ```
   
 * Now change that to:
 *     ```
       function the_meta() {
       	global $id;
   
       	if ( $keys = get_post_custom_keys() ) {
       		echo "<ul class='post-meta'>\n";
       		foreach ( $keys as $key ) {
       			$keyt = trim($key);
       			if ( '_' == $keyt{0} )
       				continue;
       			$values = array_map('trim', get_post_custom_values($key));
       			$value = implode($values,', ');
       			echo "<li><span class='post-meta-key'>$key:</span> $value</li>\n";
       		}
       		echo "<li>\n";
       		echo "</li>\n";
       		echo "</ul>\n";
       	}
       }
       ```
   
 * and it spits out an empty list item if you don’t use custom fields in that entry,
   which apparently doesn’t break validation.
 *  [morgaine](https://wordpress.org/support/users/morgaine/)
 * (@morgaine)
 * [18 years, 1 month ago](https://wordpress.org/support/topic/conditional-tags-and-using-custom-fields/#post-635695)
 * An alternative, probably better, is replacing the original function with:
 *     ```
       function the_meta() {
       	global $id;
   
       	if ( $keys = get_post_custom_keys() ) {
       		foreach ( $keys as $key ) {
       			$keyt = trim($key);
       			if ( '_' == $keyt{0} )
       				continue;
       			echo "<ul class='post-meta'>\n";
       			$values = array_map('trim', get_post_custom_values($key));
       			$value = implode($values,', ');
       			echo "<li><span class='post-meta-key'>$key:</span> $value</li>\n";
       			echo "</ul>\n";
       		}
       	}
       }
       ```
   
 * The only ‘disadvantage’ is that it will generate an unordered list for each custom
   field, populated with exactly one list item.
 *  Thread Starter [ejm](https://wordpress.org/support/users/llizard/)
 * (@llizard)
 * [18 years, 1 month ago](https://wordpress.org/support/topic/conditional-tags-and-using-custom-fields/#post-635696)
 * Thank you for your reply, Morgaine. The problem with spitting out an empty list
   item is that I have put a border around the unordered list. So even if the list
   item is empty, the border appears. This is what I have in my stylesheet:
 * `ul.post-meta {border-top:1px dotted #ddd; border-left:3px solid #000;}`
 * What would be ideal would be for the unordered list to appear ONLY if the custom
   fields are filled in.
 * Alternatively, might there be a way of switching the class name of the unordered
   list from “post-meta” to “no-display” so I could remove the border for that class?(
   virtually hiding the empty list from view)
 * I hope my question made sense.
 * ………..
    It took me a while to locate “post-template.php”. It turns out that it’s
   because I don’t have it. (I’m running WP 2.0.11) At last I found the function
   the_meta() coding in wp-includes/template-functions-post.php

Viewing 3 replies - 1 through 3 (of 3 total)

The topic ‘conditional tags and using custom fields’ is closed to new replies.

## Tags

 * [conditional tags](https://wordpress.org/support/topic-tag/conditional-tags/)
 * [custom fields](https://wordpress.org/support/topic-tag/custom-fields/)

 * In: [Fixing WordPress](https://wordpress.org/support/forum/how-to-and-troubleshooting/)
 * 3 replies
 * 2 participants
 * Last reply from: [ejm](https://wordpress.org/support/users/llizard/)
 * Last activity: [18 years, 1 month ago](https://wordpress.org/support/topic/conditional-tags-and-using-custom-fields/#post-635696)
 * Status: not resolved

## Topics

### Topics with no replies

### Non-support topics

### Resolved topics

### Unresolved topics

### All topics
