the_date ()가 작동하지 않습니다


20

워드 프레스 3.2를 사용하고 있으며 다음과 같은 쿼리 게시물을 수행했습니다.

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

그런 다음이 질문을 한이 게시물의 날짜를 에코하려고합니다.

<?php echo the_date(); ?>

그것은 게시물의 제목과 발췌 및 영구 링크를 제공하지만 날짜는 없습니다. 문제가 무엇이라고 생각하십니까? 나는 그것이 매우 창피하다고 확신합니다.

비디오 페이지의 템플릿 파일에있는 코드는 다음과 같습니다.

    <?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>

여기에 쿼리를 루프에 넣으려고합니다.

<?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 ()는 작동하지 않지만 the_title () 및 기타 함수는 작동했습니다. 그건 그렇고 이것이 내 쿼리를 the_post ()로 변경했는데 내가 원하지 않는 것이 아닙니다. 루프 위에서 한 것처럼 최신 비디오를 쿼리하고 싶습니다.

그건 그렇고 나는 페이지의 앞부분에서 the_date 함수를 사용했고 효과가있었습니다. 그게 문제가 될 수 있습니까? 여기에 문제가있는 코드가 있습니다.

<div id="col75" class="firstcol">
    <iframe id="video" src="http://www.youtube.com/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>

답변:


51

`the_date '사용에 대한특별 참고 사항을 참조하십시오

특별 참고 사항 : 같은 날에 게시 된 페이지에 여러 게시물이있는 경우 the_date ()는 첫 번째 게시물의 날짜 (즉, the_date ()의 첫 번째 인스턴스) 만 표시합니다. 같은 날에 게시 된 게시물의 날짜를 반복하려면 템플릿 태그 the_time () 또는 get_the_date () (3.0 이후)를 날짜 별 형식 문자열과 함께 사용해야합니다. 관리 인터페이스에서 설정된 날짜를 추가하는 데 사용합니다.

  1. 당신은 query_posts지구본을 망치 는 것을 사용 하고 있습니다.
  2. 이미 브라우저에 인쇄되는 기능을 반영하고 있습니다

    • 실제로 모든 템플릿 태그에 대해 그렇게하고 있습니다.
    • 로 변경 echo the_date();:echo get_the_date('F j, Y');
    • 이미 브라우저에 인쇄 된 템플릿 태그에서 에코를 제거하거나 값을 반환하는 대체 기능을 사용하십시오.
  3. 새로운 사용 WP_Query또는 get_posts대신을query_posts

  4. 코덱스를 읽으십시오. 이 모든 기능을 사용하는 방법을 알려주며 매우 유용합니다. :)


1
get_the_date ()가 내 문제를 해결했지만 이제 내 sidebar.php get_the_date ()가 손상되었습니다.
zachdyer

1
query_posts
Chris_O

좋아, 지금 작동하지만 echo 태그를 사용해야했습니다. 이것이 내 sidebar.php에서 작동하지 않는 이유입니다.
zachdyer

17

the_date()동일한 날짜가 이전에 인쇄되지 않은 경우에만 날짜를 인쇄합니다 .
아니요, 다른 유사한 기능과 일치하지 않습니다. 그러나 이것이 WordPress의 조상 b2 / cafelog 에서 작동하는 방식 이며 이전 버전과의 호환성은 항상 논리보다 우선합니다 ... :)

날짜를 인쇄하려면 항상 get_the_date()

<?php echo get_the_date(); ?>

또는

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

NOOOOOOOOOOOOOOOOOOOO. 이제 내 사이드 ​​바 get_the_date가 고장났습니다. 거기서 무슨 일이?
zachdyer

1
Cris_O의 답변을 참조하고 사용하지 마십시오query_posts() . :)
fuxia

귀하 의 글로벌을 깨뜨리는 귀하의 query_posts 사용 . 아래 답변을 참조하십시오.
Chris_O

0

나는 그것이 while( have_posts() )조건부 내에서 실행되어야한다고 생각합니다 .

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

게시물의 날짜를 어떻게 말합니까? 그게 내가 원하는 전부 야? 하나의 게시물 만 쿼리했습니다.
zachdyer

0

특정 기능이 작동하려면 루프를 초기화해야합니다. 이러한 함수는 모두 코덱 페이지에 루프 외부에서 제대로 작동하지 않는 것으로 표시됩니다.


아니요 작동하지 않습니다. 게시물에서 수행 한 코드를 게시했습니다.
zachdyer

-1
// 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' );
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.