• <? $mainthumb = get_post_meta($post->ID, "mainthumb", true); ?>
    <? echo $mainthumb; ?>

    So this code works on all pages besides an Archive/Categories page. I take a non-edited Archive page and paste the code and it doesn’t display all.

    Here’s the full page code just for fun

    <?php
    /**
     * @package WordPress
     * @subpackage Default_Theme
     */
    
    get_header();
    ?>
    
    	<div id="content" class="narrowcolumn" role="main">
    
    		<?php if (have_posts()) : ?>
    
     	  <?php $post = $posts[0]; // Hack. Set $post so that the_date() works. ?>
     	  <?php /* If this is a category archive */ if (is_category()) { ?>
    		<h2 class="pagetitle">Archive for the ‘<?php single_cat_title(); ?>’ Category</h2>
     	  <?php /* If this is a tag archive */ } elseif( is_tag() ) { ?>
    		<h2 class="pagetitle">Posts Tagged ‘<?php single_tag_title(); ?>’</h2>
     	  <?php /* If this is a daily archive */ } elseif (is_day()) { ?>
    		<h2 class="pagetitle">Archive for <?php the_time('F jS, Y'); ?></h2>
     	  <?php /* If this is a monthly archive */ } elseif (is_month()) { ?>
    		<h2 class="pagetitle">Archive for <?php the_time('F, Y'); ?></h2>
     	  <?php /* If this is a yearly archive */ } elseif (is_year()) { ?>
    		<h2 class="pagetitle">Archive for <?php the_time('Y'); ?></h2>
    	  <?php /* If this is an author archive */ } elseif (is_author()) { ?>
    		<h2 class="pagetitle">Author Archive</h2>
     	  <?php /* If this is a paged archive */ } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?>
    		<h2 class="pagetitle">Blog Archives</h2>
     	  <?php } ?>
    
    		<div class="navigation">
    			<div class="alignleft"><?php next_posts_link('&laquo; Older Entries') ?></div>
    			<div class="alignright"><?php previous_posts_link('Newer Entries &raquo;') ?></div>
    		</div>
    
    		<?php while (have_posts()) : the_post(); ?>
    
    		<div <?php post_class() ?>>
    				<h3 id="post-<?php the_ID(); ?>"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>
    				<small><?php the_time('l, F jS, Y') ?></small>
             <? $mainthumb = get_post_meta($post->ID, "mainthumb", true); ?>
    			 <? echo $mainthumb; ?>afdsfsdfsdf
    				<div class="entry">
    					<?php the_content() ?>
    				</div>
    
    				<p class="postmetadata"><?php the_tags('Tags: ', ', ', '<br />'); ?> Posted in <?php the_category(', ') ?> | <?php edit_post_link('Edit', '', ' | '); ?>  <?php comments_popup_link('No Comments »', '1 Comment »', '% Comments »'); ?></p>
    
    			</div>
    
    		<?php endwhile; ?>
    
    		<div class="navigation">
    			<div class="alignleft"><?php next_posts_link('&laquo; Older Entries') ?></div>
    			<div class="alignright"><?php previous_posts_link('Newer Entries &raquo;') ?></div>
    		</div>
    	<?php else :
    
    		if ( is_category() ) { // If this is a category archive
    			printf("<h2 class='center'>Sorry, but there aren't any posts in the %s category yet.</h2>", single_cat_title('',false));
    		} else if ( is_date() ) { // If this is a date archive
    			echo("<h2>Sorry, but there aren't any posts with this date.</h2>");
    		} else if ( is_author() ) { // If this is a category archive
    			$userdata = get_userdatabylogin(get_query_var('author_name'));
    			printf("<h2 class='center'>Sorry, but there aren't any posts by %s yet.</h2>", $userdata->display_name);
    		} else {
    			echo("<h2 class='center'>No posts found.</h2>");
    		}
    		get_search_form();
    
    	endif;
    ?>
    
    	</div>
    
    <?php get_sidebar(); ?>
    
    <?php get_footer(); ?>
Viewing 2 replies - 1 through 2 (of 2 total)
  • Thread Starter 1800collect

    (@1800collect)

    This is frustrating. So I took the same index.php code where my custom field shows up find. I then rename it category-3.php to use as a category page and my custom fields no longer show up. Is there a setting I need to turn on or hack?

    Edit: Even weirder. So if I have my custom field in the archive.php file and I don’t have any custom categories (i.e. category-3.php) my custom fields will show up on category 3’s archive page.

    If I then make an exact duplicate of archive.php and name it category-3.php when I visit category 3’s category page my custom fields don’t show. Is this a bug in WordPress?

    Edit: Another user seems to have the same problem.

    Thread Starter 1800collect

    (@1800collect)

    Upon further review I noticed this plugin was causing the error:

    http://wordpress.org/support/topic/234874?replies=3

    I am now trying to dissect the plugin to see if I can resolve the issue.

    So far I’ve noticed when I modify this code

    if ( file_exists(TEMPLATEPATH . '/category-' . $category->cat_ID . '.php') ) {
                include(TEMPLATEPATH . '/category-' . $category ->cat_ID . '.php');
                exit; }
            elseif ( file_exists(TEMPLATEPATH . '/category-' . $category->category_parent . '.php') ) {
                include(TEMPLATEPATH . '/category-' . $category->category_parent . '.php');
                exit; }

    To this

    if ( file_exists(TEMPLATEPATH . '/category-' . $category->category_parent . '.php') ) {
                include(TEMPLATEPATH . '/category-' . $category->category_parent . '.php');
                exit; }

    I at least get the Parent category to display the custom field properly.

    This plugin seems to work fine. So I ditched the other:

    http://wordpress.org/extend/plugins/elevate-parent-category-template/

Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘Custom Fields in Categories/Archive pages?’ is closed to new replies.