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 'का उपयोग करने के बारे में यह विशेष नोट देखें

विशेष नोट: जब SAME DAY के तहत प्रकाशित पृष्ठ पर कई पोस्ट होते हैं, तो 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_postsquery_posts

  4. कोडेक्स पढ़ें। यह आपको बताता है कि इन सभी कार्यों का उपयोग कैसे किया जाता है और यह बहुत उपयोगी है :)


1
get_the_date () ने मेरी समस्या ठीक कर दी है, लेकिन अब मेरा साइडबार .php get_the_date () टूट गया है।
zachdyer

1
दूसरा शिकारquery_posts
क्रिस_ओ

ठीक है अब यह काम कर रहा है लेकिन मुझे इको टैग का इस्तेमाल करना पड़ा। यही कारण है कि यह मेरे साइडबार में काम नहीं किया।
zachdyer

17

the_date()तारीख को प्रिंट करता है, अगर उसी तारीख को पहले प्रिंट नहीं किया गया हो ।
नहीं, यह अन्य समान कार्यों के अनुरूप नहीं है। लेकिन यह है कि यह कैसे वर्डप्रेस 'पूर्वज 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 जो आपके ग्लोबल्स को तोड़ रहा है। नीचे मेरा जवाब देखें।
क्रिस_ओ

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' );
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.