One Way To Use Custom Fields

This is not a beginner level tutorial. If you don’t know anything about XHTML and PHP, you will get lost.

Recently, I learned how to manipulate custom fields. Today, I finally switched from excerpts to custom fields to display theme thumbnails on WPDesigner. I’m talking about the three theme blocks in the header. Each block has an image, the theme’s name, theme author’s name and link, and the download page link.

WPDesigner themes

Before making the switch

Here’s a normal theme post:

Theme Post

Here’s its optional excerpt information, which would be what I’d use to display a theme thumbnail block:

theme-post-excerpt

And here’s the source codes for displaying the excerpts.

<?php if(is_home()) { ?>
<?php $thumbnailexcerpts = get_posts('numberposts=3&category=2'); foreach($thumbnailexcerpts as $post) : setup_postdata($post); ?>
<div class="thumbnail"><div class="thumbnailwrap">
	<?php the_excerpt(); ?>
</div></div>
 <?php endforeach; ?>
<?php } ?>

As you can tell, each excerpt is unique. If I were to continue using excerpts to store theme information, a decision to change up the theme thumbnail block template (even a small change) would make the change a daunting task. I would have to edit every excerpt.

After the switch

To some recent theme posts, I added the following custom fields or custom field keys: Theme NameTheme AuthorTheme Author LinkDownload Page, and Theme Thumbnail. The keys’ values depend on the theme’s information.

custom_fields

And here’s the source codes for displaying custom fields.

<?php if(is_home()) { ?>
<?php $thumbnailexcerpts = get_posts('numberposts=3&category=2'); foreach($thumbnailexcerpts as $post) : setup_postdata($post); ?>
	<div class="thumbnail"><div class="thumbnailwrap">
<p><a href="<?php the_permalink(); ?>" title="<?php echo get_post_meta($post->ID, "Theme Name", true); ?> details page">
<img src="<?php echo get_post_meta($post->ID, "Theme Thumbnail", true); ?>" alt="<?php echo get_post_meta($post->ID, "Theme Name", true); ?> thumbnail" /></a>
<strong><?php echo get_post_meta($post->ID, "Theme Name", true); ?></strong><br />
Author: <a href="<?php echo get_post_meta($post->ID, "Theme Author Link", true); ?>" title="Author's link"><?php echo get_post_meta($post->ID, "Theme Author", true); ?></a><br />
<a href="<?php echo get_post_meta($post->ID, "Download Page", true); ?>" title="Download page">Download page</a>
</p>
	</div></div>
 <?php endforeach; ?>
<?php } ?>

The Big Difference

Now, I can easily manipulate the custom field values to display the themes’ information. Also, I can easily make template changes that would affect every thumbnail block. For example, if I wanted to display the download page link before the author’s link, I would change the source codes to display the download page link first, instead of having to edit one excerpt at the time to get all the thumbnail blocks to match each other. Imagine having to edit 1000 excerpts instead of switching some source codes around. Big difference huh?

Why I switched to custom fields

WPDesigner only display the three most recent theme posts in the header so why bother with switching to custom fields? I have to. My goal is to change up the WordPress theme category page to display only theme thumbnail blocks. That way, you’ll be able to browse through more themes per category page.

Here’s a mock-up example:

future_category_page

You May Also Like

Avatar of Jazib Zaman

About the Author: Jazib Zaman

Leave a Reply

Your email address will not be published. Required fields are marked *