Connect with us

Tips & Tricks

Pulling custom fields from outside the loop

Published

on

In the last post “Creating a custom widget” I showed you how to create a custom widget. Well in this post I will show you how I used my custom widget to display all post with a certain custom field from outside the WordPress loop.

In the last post I used this tag:

<?php include(TEMPLATEPATH . '/includes/showcase.php'); ?>

Now I will show you what the file showcase.php has:

<ul>
<?php
global $wpdb;

$sql = "SELECT wposts.*
	FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
	WHERE wposts.ID = wpostmeta.post_id
	AND wpostmeta.meta_key = 'gallery-url'
	AND wposts.post_status = 'publish'
	AND wposts.post_type = 'post'
	ORDER BY wposts.post_date DESC LIMIT 8";

$pageposts = $wpdb->get_results($sql, OBJECT);
$output = $pre_HTML;

foreach ($pageposts as $post) : setup_postdata($post);  ?>

<li><a href="<?php echo get_post_meta($post->ID, "gallery-url", $single = true); ?>" title="Link to <?php the_title(); ?>">
<img src="<?php echo get_post_meta($post->ID, "image", $single = true); ?>" alt="<?php the_title(); ?>" /></a></li>

<?php endforeach; ?>

</ul>

That’s it! The most important item you may want to change for your own custom field is the line : AND wpostmeta.meta_key = 'gallery-url'. Where you would change the text in bold to match your own custom field value.

Update:

Check out Austin from PressedWords comment below.

With his great advise I was able to figure out why all my attempts to use the query_post weren’t working. it came down to this line of code: <?php echo get_post_meta($post->ID, "gallery-url", $single = true); ?>, that was what I had in my code, and the $post->ID is the reason my code would not echo or print the custom field’s value. Solution? replace $post->ID with get_the_ID(). HA, so simple.

Continue Reading
4 Comments

4 Comments

  1. Austin

    January 17, 2009 at 1:49 pm

    No need to query the database directly. You can use the WordPress API to accomplish the same thing:

    <ul>
    <?php
    query_posts(array(
    'meta_key' => 'gallery-url',
    'showposts' => 8,
    ));
    while( have_posts() ) : the_post(); ?>

    <li><a href="<?php echo get_post_meta(get_the_ID(), "gallery-url", $single = true); ?>" title="<?php echo attribute_escape(sprintf('Link to %s', get_the_title())); ?>">
    <img src="<?php echo get_post_meta(get_the_ID(), "image", $single = true); ?>" alt="<?php echo attribute_escape(get_the_title()); ?>" /></a></li>

    <?php endwhile; ?>

    </ul>

    If you can, it’s usually better to use the WordPress API, because your code won’t have to change if the underlying database structure in WordPress changes (as it has before), you get the benefits of the built-in object caching (or caching plugins, if they’re being used), and it tends to allow better compatibility with other plugins.

    Austin’s last blog post..WordPress Use Declines Among Top 100 Bloggers

  2. frosty

    January 17, 2009 at 3:03 pm

    Thanks for that, I will give that code a shot. I tried so many variations, and it wouldn’t show the custom fields, just the html code I input.

    😉

    P.S. If that works I will write a post based on your recommended code!

  3. Pingback: Weekend Links - Jan 23, 2009 | OMNINOGGIN

  4. Guennadi M

    June 14, 2009 at 8:56 am

    To display custom field outside the loop, you need to make the post ID available outside the loop, as per http://www.ausbusiness.net/review/wordpress-custom-fields-outside-loop/

    Guennadi M

You must be logged in to post a comment Login

Leave a Reply

Themes

Jon Asked: How to add thumbnails above post on the THiCK theme

Published

on

I was asked by a reader:

I’m using the THiCK theme for my new design blog. I noticed you were able to add thumbnail images above your blog posts on the home page. What would I need to do to enable this on my blog?

Well Jon, this can be done very simple, since the theme is already using the Tim Thumb script.

What you will need to do is find in your index.php file, the second loop. Which you can find on line 40.

<?php query_posts('offset=1&showposts=' . get_option('woo_other_entries') . '&cat=-' . $GLOBALS['ex_asides'] ); ?>

<?php while (have_posts()) : the_post(); ?>	

	<div class="post">
		<h2><a title="Permanent Link to <?php the_title(); ?>" href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
		<div class="post-meta"><?php the_time('j/m/y'); ?> <span>|</span> <?php comments_popup_link('0 Comments', '1 Comment', '% Comments'); ?></div>
		<?php the_excerpt(); ?>
	</div>

<?php endwhile; ?>

Now we are going to add in the code. At line 43 we are going to add:

<?php if (get_option('woo_resize')) { // Check if we should use the image resizer ?>
                    <a title="Continue reading this entry..." href="<?php the_permalink() ?>" rel="bookmark"><img src="<?php echo bloginfo('template_url'); ?>/thumb.php?src=<?php echo get_post_meta($post->ID, "image", $single = true); ?>&amp;h=80&amp;w=280&amp;zc=1&amp;q=90" alt="<?php the_title(); ?>" /></a>
                <?php } else { ?>
                    <a title="Continue reading this entry..." href="<?php the_permalink() ?>" rel="bookmark"><img src="<?php echo get_post_meta($post->ID, "image", $single = true); ?>" alt="<?php the_title(); ?>" /></a>
                <?php } ?>

That’s it, just make sure that in the THiCK options panel you choose the “resize” option, or the image might break the layout. Or you may change the this code: $post->ID, "image", to: $post->ID, "image_thumb", and use a separate image for the lower blog.

Continue Reading

Tips & Tricks

How to: Add any authors gravatar to their post

Published

on

This is an easy one, just add one line to your single.php file where you would like the Gravatar to show up.

<?php echo get_avatar( get_the_author_id(), $size = '96', $default = '<path_to_url>' ); ?>
Continue Reading

Tips & Tricks

How to: Show what a user is searching for in the title

Published

on

Want to show what any user was searching for?
It is simple, just add this line where your title would be.

<h1>Browsing search results for <strong>"<?php the_search_query() ?>"</strong>.</h1>

The important line is the_search_query()

Continue Reading

Random Search Terms

Title

Recent Posts: Fully Net Worth . com

Court Westcott Net Worth- How Rich is Kameron Westcott’s husband?

Court Westcott Net Worth- How Rich is Kameron Westcott’s husband?

Court Westcott is a venture capitalist who is a managing partner of the company named Westcott LLC which was founded by his father Carl Westcott with the company being a personal investment platform for entrepreneurship. The Westcott family is known to be one of the prestigious families from Dallas. As of 2019, Court Westcott net […]

Kellen Winslow Jr Net Worth: How Rich is the NFL Player Actually?

Kellen Winslow Jr Net Worth: How Rich is the NFL Player Actually?

Kellen Winslow Jr is a former professional football player who played a tight end in the National Football League. Winslow Jr. has played for Tampa Bay Buccaneers, New England Patriots, and New York Jets during his time at NFL. As of 2019, Kellen Winslow Jr net worth is estimated to be $12 million. Winslow was […]

Brother Nature Net Worth: How Rich is Kelvin Pena Actually?

Brother Nature Net Worth: How Rich is Kelvin Pena Actually?

Kelvin Pena who is known by his Internet name as ‘Brother Nature’ is an American Internet superstar best known for his funny and comedic videos. As of 2019, Brother Nature net worth is estimated to be $700,000. Pena was born on August 11, 1998, in New York to a Dominican father and a Puerto Rican […]

Iann Dior Net Worth: How Rich is the Emerging Rapper Now?

Iann Dior Net Worth: How Rich is the Emerging Rapper Now?

Michael Ian Olmo, who is better known by his stage name as Iann Dior, is a Puerto Rican rapper and songwriter. He is best known for his songs “Emotions” and “Gone Girl” which have received millions of views worldwide. Iann Dior net worth as of 2019 is estimated to be $300,000. Dior was born on […]

Trending