the_date () çalışmıyor


20

Wordpress 3.2 kullanıyorum ve böyle bir sorgu gönderdim:

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

Sonra bu şekilde sorguladığım bu yazının tarihini yankılamaya çalışıyorum.

<?php echo the_date(); ?>

Bana yazının başlığını ve alıntıyı ve kalıcı bağlantıyı veriyor ancak tarih yok. Problemin ne olduğunu düşünüyorsun. Eminim oldukça utanç verici bir şey.

İşte video sayfası için şablon dosyamdaki kod:

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

Burada bir döngüde sorgu koymak çalışın:

<?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 () işe yaramadı, ancak the_title () ve diğer işlevler çalıştı. Bu arada sorgumu istediğim şey değil the_post () olarak değiştirdi. Döngünün üstünde yaptığım gibi en son videoyu sorgulamak istiyorum.

Bu arada sayfanın başlarında the_date işlevini kullandım ve çalıştı. Sorun bu olabilir mi? Kod ile ilgili bir sorun vardı önce.

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

Yanıtlar:


51

`` The_date '' kullanımı ile ilgili bu özel nota bakın

ÖZEL NOT: AYNI GÜN altında yayınlanan bir sayfada birden çok gönderi olduğunda, the_date () yalnızca ilk gönderinin tarihini görüntüler (yani, the_date () öğesinin ilk örneği). Aynı gün altında yayınlanan yayınların tarihini tekrarlamak için, tarihe özgü biçim dizesiyle Şablon Etiketi the_time () veya get_the_date () (3.0'dan beri) kullanmalısınız. Yönetici arayüzünde ayarlanan tarihi eklemek için kullanın.

  1. query_postsGloballeri hangi vidaları kullanıyorsunuz
  2. Tarayıcıya zaten yazdırılmış bir işlevi tekrarlıyorsunuz

    • Aslında bunu tüm şablon etiketleriniz için yapıyorsunuz.
    • Şununla echo the_date();değiştir:echo get_the_date('F j, Y');
    • Tarayıcıya yazdırılmış şablon etiketlerinden yankıyı kaldırın veya değeri döndüren alternatif işlevleri kullanın.
  3. Yeni WP_Queryveya get_postsyerinequery_posts

  4. Kodeksi okuyun. Tüm bu işlevleri nasıl kullanacağınızı anlatır ve çok yararlıdır :)


1
get_the_date () sorunumu düzeltti ancak artık sidebar.php get_the_date () bozuk.
zachdyer

1
Başka bir kurbanquery_posts
Chris_O

Tamam şimdi çalışıyor ama echo etiketlerini kullanmak zorunda kaldım. Bu yüzden kenar çubuğumda çalışmadı. Php.
22'de zachdyer

17

the_date()tarihi yalnızca aynı tarih daha önce yazdırılmadıysa yazdırır .
Hayır, bu diğer benzer işlevlerle tutarlı değil. Ama WordPress'in atası b2 / cafelog'da böyle çalıştı ve geriye dönük uyumluluk her zaman mantığı bozuyor … :)

Tarihi yazdırmak için daima get_the_date()

<?php echo get_the_date(); ?>

veya

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

NOOOOOOOOOOOOOOOOOOOO. Şimdi yan çubuğum get_the_date bozuk. Orada ne oldu?
zachdyer

1
Cris_O'nun cevabına bakın ve kullanmayınquery_posts() . :)
fuxia

Globalleri bozan query_posts kullanmanız . Cevabımı aşağıda görebilirsiniz.
Chris_O

0

Bunun while( have_posts() )koşullu olarak yürütülmesi gerektiğini düşünüyorum :

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

Gönderinin tarihini nasıl söyleyebilirim? Tüm yapmak istediğim bu mu? Sadece bir gönderiyi sorguladım.
zachdyer

0

Belirli işlevlerin çalışması için döngüyü başlatmanız gerekir. Tüm bu işlevler, kodeks sayfalarında, döngü dışında düzgün çalışmayacaklarını listeler.


Hayır işe yaramıyor Ben yazı ne yaptı kod gönderdi.
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' );
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.