Skip to content
Read For Learn
Read For Learn
  • Database
    • Oracle
    • SQL
  • C
  • C++
  • Java
  • Java Script
  • jQuery
  • PHP
Read For Learn
  • Database
    • Oracle
    • SQL
  • C
  • C++
  • Java
  • Java Script
  • jQuery
  • PHP

Displaying values from related field – if empty shows current post type’s link and title

get_post_meta() should only return false under a couple of circumstances:

269   function get_metadata($meta_type, $object_id, $meta_key = '', $single = false) {
270           if ( !$meta_type )
271                   return false;
272   
273           if ( !$object_id = absint($object_id) )
274                   return false;

https://core.trac.wordpress.org/browser/tags/3.8.1/src/wp-includes/meta.php#L269

I don’t see how $meta_type could be wrong since it is hard-coded into get_post_meta():

1769  function get_post_meta($post_id, $key = '', $single = false) {
1770          return get_metadata('post', $post_id, $key, $single);
1771  }

https://core.trac.wordpress.org/browser/tags/3.8.1/src/wp-includes/post.php#L1769

That leaves $object_id. Something could be passing an bad object ID– something like this…

$object_id = 'abc';
// or this
// $object_id = -123;
var_dump(!$object_id = absint($object_id));

… will evaluate true causing get_post_meta to return false.

Another possibility is that a filter is returning a problematic value here:

276           $check = apply_filters( "get_{$meta_type}_metadata", null, $object_id, $meta_key, $single );
277           if ( null !== $check ) {
278                   if ( $single && is_array( $check ) )
279                           return $check[0];
280                   else
281                           return $check;
282           }

If some filter sets $check to an array with false as the only element, then null !== $check is true and that array gets returned. For example:

add_filter(
  'get_post_metadata',
  function($meta) {
    return array(false);
  }
);
$t = get_post_meta(1,'_edit_lock_dood',false);
var_dump($t,empty($t));

Note: simply returning false from that filter won’t do it. It must be an array with false as the single element, which gets to the technical reason your code doesn’t work.

empty(false) is true but empty(array(false)) is false— the array is not empty. It has an element, even though that element is false. Play with var_dump() a bit and you can demonstrate it for yourself. Like this, for example:

$a = array(false);
var_dump($a);
var_dump(empty($a));

There is not enough context to your question/code for me to narrow it down further.

Related Posts:

  1. get_*_meta doesn’t always return an array
  2. get_post_meta not work in php foreach
  3. How do I retrieve the slug of the current page?
  4. Most efficient way to get posts with postmeta
  5. Get posts by meta value
  6. Explanation of update_post_(meta/term)_cache
  7. How to extract data from a post meta serialized array?
  8. How to update custom fields using the wp_insert_post() function?
  9. How to save an array with one metakey in postmeta?
  10. WordPress is stripping escape backslashes from JSON strings in post_meta
  11. How can I get the post ID from a WP_Query loop?
  12. Check if Post Title exists, Insert post if doesn’t, Add Incremental # to Meta if does
  13. How to update_post_meta value as array
  14. Adding meta tag without plugin
  15. What’s the point of get_post_meta’s $single param?
  16. What is the different between an attachment in wp_posts and an attachment in wp_postmeta?
  17. How to edit a post meta data in a Gutenberg Block?
  18. Sanitizing integer input for update_post_meta
  19. post formats – how to switch meta boxes when changing format?
  20. Execute action after post is saved with all related post_meta records (data)
  21. Lack of composite indexes for meta tables
  22. Get a single post by a unique meta value
  23. if get_post_meta is empty do something
  24. Get meta_id along with meta_key and meta_value
  25. How we get_post_meta without post id
  26. How get post id from meta value
  27. What is the code to get the download link for a product in WooCommerce?
  28. Safe to delete blank postmeta?
  29. advanced custom fields update_field for field type: Taxonomy
  30. update_post_meta not saving when value is zero
  31. Content hooks vs User hooks
  32. Meta compare with date (stored as string) not working
  33. Trying to get custom post meta through Jetpack JSON API [closed]
  34. How to update/insert custom field(post meta) data with wordpress REST API?
  35. How can merge two arrays values in one array and save in database
  36. Check if user already visited this post today
  37. Restrict post edit/delete based on user ID and custom field
  38. Update all posts automatically when using post_meta
  39. get_post_meta returning empty string when data shows in the database
  40. publish_post action hook doesn’t give post_meta_data
  41. Remove WordPress.org Meta link
  42. Remove post meta keys
  43. How to access the post meta of a post that has just been published?
  44. Why time functions show invalid time zone when using ‘c’ time format?
  45. Display all meta for a post?
  46. Why is get_post_meta returning an array when I specify it as single?
  47. How to update/delete array in post meta value?
  48. How to get all term meta for a taxonomy – getting term_meta for taxonomy
  49. Update Multiple Post Meta for the Same Post In One call?
  50. Adding an assisting editor box to Post page
  51. Change slug with custom field
  52. How to display multiple Post meta_key/meta_values by SQL query
  53. the_post_thumbnail() based on the Post ID
  54. How to use multiple query with same meta key
  55. delete unused postmeta
  56. Should I sanitize custom post meta if it is going to be escaped later?
  57. How to update single value in multi dimensional Post Meta?
  58. Add post meta based on another post meta value before publish post
  59. How do I retrieve multi-dimensional arrays from the wp_postmeta table, & display on a website?
  60. Front-end update_post_meta snippet displays white screen?
  61. Query between two meta values?
  62. Save both current and new version of post meta
  63. Get Advanced Custom Fields values before saving [closed]
  64. Give extra post-meta to RSS feeds
  65. How to get meta value in wp_attachment_metadata
  66. WP REST API “rest_no_route” when trying to update meta
  67. Clean up output added via wp_head()
  68. List posts under meta_value heading
  69. Why am I getting an infinite loop with have_posts?
  70. get_post_meta – get a single value
  71. delete value 0 in post meta [closed]
  72. Can I safely delete a record, manually, in the wp postmeta table?
  73. How to store post meta in an array?
  74. What action hook updates post meta?
  75. Can’t translate the post meta data (Date) in another language
  76. get_post_meta / update_post_meta array
  77. adding a URL to a post meta
  78. Why is my get_post_meta always empty
  79. Exclude a category from the filed under list
  80. Compare two meta key values against each other inside the get_posts array?
  81. Short of raw SQL, can I query for multiple attachment metadata that have a given array key?
  82. How do I access post meta data when publishing a new post in Gutenberg?
  83. update_post_meta() not working when used with WordPress action
  84. How can update custom meta for all posts
  85. Using Advanced Custom Field (ACF) to insert meta description on each page
  86. Triple meta_key on custom SELECT query
  87. get_post_custom()
  88. Adding meta data to an attachment post
  89. update_post_meta not adding anything.(Nor add_post_meta)
  90. loop through all meta keys with get_post_meta
  91. Get posts by meta value with date
  92. How to add meta tag to wordpress posts filter?
  93. Are multiple values from get_post_meta guaranteed to be ordered?
  94. Identifying Importer Posts
  95. Get updated post meta on save_post action?
  96. Get post from meta_key and meta_value
  97. Add a post metadata if only the key and value does not exist
  98. get_post_meta returns bool(false)
  99. How metadata API works?
  100. Correct processing of `$_POST`, following WordPress Coding Standards
Categories post-meta Tags php, post-meta
Comma separator problem of custom taxonomy
custom gallery filter with image caption as link title?

Recommended Hostings

Cloudways: Realize Your Website's Potential With Flexible & Affordable Hosting. 24/7/365 Support, Managed Security, Automated Backups, and 24/7 Real-time Monitoring.

FastComet: Fast SSD Hosting, Free Migration, Hack-Free Security, 24/7 Super Fast Support, 45 Day Money Back Guarantee.

Recent Added Topics

  • Bug in translation system: load_theme_textdomain() returns true, files are available and accessible but the language defaults to english
  • Custom Elementor controls not appearing in the widget Advanced tab using injection hooks
  • Get the name of the template/*html file used
  • Trying to Add Paging to Single Post Page
  • Sharing media files between live and staging servers
  • How to display the description of a custom post type in the dashboard?
  • Critical error on image display
  • Copying WP data and files into new install?
  • How to determine the DirectAdmin WordPress backup date?
  • How to get list of ALL tables in the database?
© 2026 Read For Learn
  • Database
    • Oracle
    • SQL
  • algorithm
  • asp.net
  • assembly
  • binary
  • c#
  • Git
  • hex
  • HTML
  • iOS
  • language angnostic
  • math
  • matlab
  • Tips & Trick
  • Tools
  • windows
  • C
  • C++
  • Java
  • javascript
  • Python
  • R
  • Java Script
  • jQuery
  • PHP
  • WordPress