WordPress.org

Ready to get started?Download WordPress

Forums

the_meta works but get_post_meta doesn't? (10 posts)

  1. ciaravino
    Member
    Posted 4 years ago #

    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
          <section>
             <div class="post" id="post-<?php the_ID(); ?>">
                <header>
                   <h1 class="post-title">
                      <?php the_title(); ?>
                   </h1>
                </header>
                <?php
                $gametitle = get_post_meta($post->ID, 'title', true);
                ?>
                <section>
                   <ul>
                      <li><?php echo $gametitle; ?></li>
                   </ul>
                </section>
    
                <section>
                   <?php the_content(); ?>
                </section>
             </div>
          </section>
    
          <?php endwhile; endif; ?>

    get_post_meta isn't showing anything, but if I use the_meta it shows all the custom fields...I don't get why :(

  2. ciaravino
    Member
    Posted 4 years ago #

    Here's the complete code... I don't GET IT! :( I've been looking for like 5 hours straight and I get how it should work, I just must have like 1 little thing wrong... the_meta() works fine and displays all the keys and values but if I try to get just one key and value with get_post_meta, nothing shows up. I've tried calling a few of the custom field keys, none come up.

    <?php get_header(); ?>
    <article>
    	<div class="blog-article">
    		<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    		<section>
    			<div class="post" id="post-<?php the_ID(); ?>">
    				<header>
    					<h1 class="post-title">
    						<?php the_title(); ?>
    					</h1>
    				</header>
    				<section>
    					<?php get_post_meta($post->ID, 'title', true); ?>
    				</section>
    
    			</div>
    		</section>
    		<section>
    			<?php the_content(); ?>
    		</section>
    	</div>
    	<?php endwhile; endif; ?>
    </article>
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>

    The reason I don't want to use the_meta is because I need to have the keys/values in a certain order and kinda scattered... I want to be able to call each individual one with get_post_meta, for example:

    <ul>
    <li><?php get_post_meta($post->ID, 'title', true); ?></li>
    <li><?php get_post_meta($post->ID, 'next', true); ?></li>
    <li><?php get_post_meta($post->ID, 'other', true); ?></li>
    <li><?php get_post_meta($post->ID, 'etc', true); ?></li>
    </ul>
    
    <div>
    <?php get_post_meta($post->ID, 'something', true); ?>
    </div>
  3. Dzikri Aziz
    Member
    Posted 4 years ago #

    Well, get_post_meta will only return the value, try adding echo before that :)

  4. ciaravino
    Member
    Posted 4 years ago #

    I tried that before but it didn't work either :(

  5. ciaravino
    Member
    Posted 4 years ago #

    Even if I manually put a page id instead of $post->ID, it doesn't work...

    Is my loop wrong? I don't know why the_meta would work and get_post_meta wouldn't if they are both used at the same point.

  6. chinmoy
    Member
    Posted 4 years ago #

    Hi ciaravino,
    get_post_meta will be worked for custom field. Add a custom field as "title" in a particular post and put the content in the value field. See this example: http://chinmoy29.wordpress.com/2010/06/14/how-to-fill-gray-thumbnail-box-with-thumbnail-image/

    Further need any help, i will help to you.

    Thanks.

  7. Gwyn
    Member
    Posted 4 years ago #

    Had the same problem as you, took a fair bit of googling but this site has the fix:

    http://themeshaper.com/forums/topic/get_post_meta-does-not-output

    Since it's inside the loop: change $post->ID to get_the_id()
    Who knew?

  8. Phil Derksen
    Member
    Posted 3 years ago #

    Wow that wasted a couple hours of my day before finding this post. Thanks guys. :)

  9. ibrahimnadir-alpha
    Member
    Posted 3 years ago #

    Hello all. i'm having problem with output of get_post_meta()

    This is my code but the get_post_meta() gives no output at all although i'm getting get_the_ID() output.

    <?php
    // query_posts('posts_per_page=5&cat=4');
    if ( have_posts() ) : while ( have_posts() ) : the_post();
    echo get_the_ID();

    $slider_image = get_post_meta(get_the_ID(), 'slider_image', true);
    echo $slider_image;
    if(!empty($slider_image))
    {
    ?>
    " href="<?php the_permalink(); ?>">
    <img height="360" width="825" alt="" class="attachment-featured-image wp-post-image" src="<?php echo $slider_image ?>"

    <div class="ft-title-holder">
    <h2><?php the_title(); ?></h2>
    <p><?php echo String::content_limit(500); ?></p>
    "> </div>
    <?php
    }
    endwhile; else:
    endif;
    wp_reset_query();
    ?>

    Can anyone help me plz!

  10. alchymyth
    Forum Moderator
    Posted 3 years ago #

    what is the content of the 'slider-image' custom field of the post with the ID that gets shown?

    with other words, is the ID an id of a post with this customfield filled in?

    did you also try to use 'get_post_meta($post->ID,'slider-image',true)' ?

    do you have a link to your site, where this slider image should be shown?

    what would 'the_meta()' output in the same location if you put it into the code?

Topic Closed

This topic has been closed to new replies.

About this Topic