Do you want to display custom fields outside the loop in WordPress? Normally, custom fields are displayed inside the WordPress loop along with other post content and metadata. In this article, we will show you how to display custom fields outside the loop in WordPress.
What Are Custom Fields in WordPress
Custom fields allow you to add additional meta data into your WordPress posts and then display them along with your post content.
You can add custom fields by simply enabling the custom fields metabox under the Screen Options. You can also create custom metaboxes in WordPress to give your custom fields a better user interface.
For more details, see our beginnerβs guide on using WordPress custom fields.
Since custom fields add metadata to posts, they can be easily displayed inside the WordPress loop along with other post content. However, sometimes you may want to display them outside the loop. For example, in a sidebar widget. This is when it becomes a bit tricky.
That being said, letβs see how to easily display custom fields outside the loop in WordPress.
Display Custom Fields Data Outside The Loop in WordPress
Instead of displaying custom fields meta data outside the loop, weβll actually show you how to use multiple loops in your WordPress themes without affecting the main loop.
This article requires you to add code to your WordPress theme files. If you havenβt done this before, then you may want to see our guide on how to copy and paste code in WordPress.
Youβll need to add the following code to your theme files where you want to display the custom fields data in WordPress.
1 2 3 4 5 6 | <?php global $wp_query ; $postid = $wp_query ->post->ID; echo get_post_meta( $postid , 'Your-Custom-Field' , true); wp_reset_query(); ?> |
This code simply loads up the global variable $wp_query to get the post ID. After that, it uses get_post_meta()
function to fetch and output your custom field data.
Donβt forget to change Your-Custom-Field with your actual custom field.
You can customize the code to match your needs. You can also use other query arguments to fetch and display custom fields data for different posts and pages.
Letβs take a look at another example. This one uses WP_Query class which is a much better and more flexible way to use multiple loops in your WordPress theme files.
Simply add this code to your theme or child theme where you would like to show the custom field.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | $args = array ( // Post or Page ID 'p' => 231, ); // The Query $the_query = new WP_Query( $args ); // The Loop if ( $the_query ->have_posts() ) { while ( $the_query ->have_posts() ) { $the_query ->the_post(); echo get_post_meta( get_the_ID(), 'Mood' , true); } /* Restore original Post Data */ wp_reset_postdata(); } else { echo 'Nothing found' ; } |
Donβt forget to replace Mood with your own custom field name and post ID with your own post or page id.
Thatβs all for now.
We hope this article helped you learn how to display custom fields outside the loop in WordPress. You may also want to see our WordPress theme cheat sheet for beginners.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.