php - the_date() not working

I am using wordpress 3.2 and I did a query post like this:<?php query_posts("posts_per_page=1post=type&page=

I am using wordpress 3.2 and I did a query post like this:

<?php query_posts("posts_per_page=1post=type&page=post_parent=10");?>

Then I try to echo out the date of this post I queried like this.

<?php echo the_date(); ?>

It gives me the title of the post and the excerpt and the permalink but no date. What do you think the problem is. I'm sure it's something quite embarrassing.

Here is the code in my template file for the video page:

    <?php query_posts("posts_per_page=1post=type&page=post_parent=10");?>
    <h2>Recent Video</h2>
    <h3 class="date"><?php echo the_date(); ?></h3>
    <p><strong><?php echo the_title(); ?></strong><?php echo the_excerpt(); ?></p>
    <p><a href="<?php echo the_permalink(); ?>" class="more2">Watch Now</a></p>

Here I try to put the query in a loop:

<?php query_posts("posts_per_page=1post=type&page=post_parent=10");?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<h2>Recent Video</h2>
<h3 class="date"><?php echo the_date(); ?></h3>
<p><strong><?php echo the_title(); ?></strong><?php echo the_excerpt(); ?></p>
<p><a href="<?php echo the_permalink(); ?>" class="more2">Watch Now</a></p>
<?php endwhile; else: ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>

the_date() did not work but the the_title() and other functions worked. By the way this changed my query to the_post() which is not what I'm wanting. I want to query the latest video like I did above the loop.

By the way I used the_date function earlier in the page and it worked. Could that be the problem? Here is it before the code that I had a problem with.

<div id="col75" class="firstcol">
    <iframe id="video" src="=<?php print get_post_meta($post->ID,"playlist_id", true); ?>" width='560' height='350' frameborder="0"></iframe>
    <div id="col25">
        <h2><?php echo get_post_meta($post->ID,"speaker", true); ?></h2>
        <h3 class="date"><?php echo the_date(); ?></h3>

I am using wordpress 3.2 and I did a query post like this:

<?php query_posts("posts_per_page=1post=type&page=post_parent=10");?>

Then I try to echo out the date of this post I queried like this.

<?php echo the_date(); ?>

It gives me the title of the post and the excerpt and the permalink but no date. What do you think the problem is. I'm sure it's something quite embarrassing.

Here is the code in my template file for the video page:

    <?php query_posts("posts_per_page=1post=type&page=post_parent=10");?>
    <h2>Recent Video</h2>
    <h3 class="date"><?php echo the_date(); ?></h3>
    <p><strong><?php echo the_title(); ?></strong><?php echo the_excerpt(); ?></p>
    <p><a href="<?php echo the_permalink(); ?>" class="more2">Watch Now</a></p>

Here I try to put the query in a loop:

<?php query_posts("posts_per_page=1post=type&page=post_parent=10");?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<h2>Recent Video</h2>
<h3 class="date"><?php echo the_date(); ?></h3>
<p><strong><?php echo the_title(); ?></strong><?php echo the_excerpt(); ?></p>
<p><a href="<?php echo the_permalink(); ?>" class="more2">Watch Now</a></p>
<?php endwhile; else: ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>

the_date() did not work but the the_title() and other functions worked. By the way this changed my query to the_post() which is not what I'm wanting. I want to query the latest video like I did above the loop.

By the way I used the_date function earlier in the page and it worked. Could that be the problem? Here is it before the code that I had a problem with.

<div id="col75" class="firstcol">
    <iframe id="video" src="http://www.youtube/embed/videoseries?list=<?php print get_post_meta($post->ID,"playlist_id", true); ?>" width='560' height='350' frameborder="0"></iframe>
    <div id="col25">
        <h2><?php echo get_post_meta($post->ID,"speaker", true); ?></h2>
        <h3 class="date"><?php echo the_date(); ?></h3>
Share Improve this question edited Feb 10, 2013 at 19:56 fuxia 107k39 gold badges255 silver badges459 bronze badges asked May 17, 2012 at 21:07 zachdyerzachdyer 3431 gold badge2 silver badges5 bronze badges 0
Add a comment  | 

5 Answers 5

Reset to default 65

See this special note about using the `the_date'

SPECIAL NOTE: When there are multiple posts on a page published under the SAME DAY, the_date() only displays the date for the first post (that is, the first instance of the_date()). To repeat the date for posts published under the same day, you should use the Template Tag the_time() or get_the_date() (since 3.0) with a date-specific format string. Use to add the date set in the admin interface.

  1. You are using query_posts which screws up the globals
  2. You are echoing a function that already prints to the browser

    • You are actually doing that for all your template tags.
    • Change echo the_date(); to: echo get_the_date('F j, Y');
    • Remove the echo from your template tags that already print to the browser or use the alternate functions that return the value.
  3. Use a new WP_Query or get_posts instead of query_posts

  4. Read the Codex. It tells you how to use all these functions and is very helpful :)

the_date() prints the date only if the same date was not printed before.
No, that's not consistent with other similar functions. But that’s how it worked in WordPress’ ancestor b2/cafelog, and backwards compatibility always trumps logic … :)

To print the date always use get_the_date()

<?php echo get_the_date(); ?>

or

<?php echo mysql2date( get_option( 'date_format' ), $post->post_date); ?>

I think that is meant to be run within the while( have_posts() ) conditional:

while ( have_posts() ) : the_post();
    echo '<li>';
    the_date();
    echo '</li>';
endwhile;

You need to initialize the loop for certain functions to work. All of these functions list, on their codex page, that they will not function properly outside of the loop.

// This won't show date in all cases
the_date( 'F d, Y' );

// This will show date in all cases
the_time( 'F d, Y' );

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745397666a4625954.html

相关推荐

  • php - the_date() not working

    I am using wordpress 3.2 and I did a query post like this:<?php query_posts("posts_per_page=1post=type&page=

    4小时前
    20

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信