मैं वर्डप्रेस 3.1 में पोस्ट प्रारूप द्वारा कैसे क्वेरी करता हूं


10

मैं 'उद्धरण' के पोस्ट प्रारूप के साथ सभी पदों के लिए क्वेरी करने का प्रयास कर रहा हूं। मैंने अपने फ़ंक्शंस में पोस्ट फॉर्मेट जोड़ दिए हैं

add_theme_support( 'post-formats', array( 'image', 'video', 'gallery', 'quote' ) );

मैंने व्यवस्थापक में पद के लिए प्रारूप के रूप में 'उद्धरण' का चयन किया है। Taxonomy_Parameters के तहत अंतिम उदाहरण दिखाता है कि ऐसे पोस्ट कैसे प्रदर्शित किए जाते हैं जिनमें 'उद्धरण' प्रारूप होता है लेकिन जब मैं इसे अपने विषय में चलाता हूं तो कोई भी पोस्ट वापस नहीं आता है। यहाँ कोड है:

$args = array(
  'tax_query' => array(
    array(
      'taxonomy' => 'post-format',
      'field' => 'slug',
      'terms' => 'post-format-quote'
    )
  )
);
query_posts( $args );

जब मैं सभी पोस्ट और जगह को क्वेरी करता हूं

echo get_post_format();

लूप में यह फ्रंट-एंड पर 'उद्धरण' शब्द देता है। इसके अलावा, जब मैं var_dump () क्वेरी को पोस्ट प्रारूप के बारे में सरणी में कुछ भी नहीं देखता हूं।

क्या किसी को पता है कि क्या पोस्ट फॉर्मेट द्वारा क्वेरी करना संभव है? यदि हां, तो कैसे?

EDIT - Bainternet के उत्तर के तहत 5 टिप्पणी देखें: यह प्रारूप प्रकार उद्धरणों को वापस करने की कोशिश कर रहे एक ताज़ा इंस्टॉल के बीसवें विषय के index.php पर पाया गया कोड है। मैं 'उद्धरण' के बजाय 'नहीं' लौटाता हूं। क्या आप कुछ भी देख सकते हैं जो मुझे बदलना चाहिए।

get_header(); ?>
<div id="container">
  <div id="content" role="main">
    <?php $args = array(
      'tax_query' => array(
        array(
          'taxonomy' => 'post-format',
          'field' => 'slug',
          'terms' => array('quote')
        )
      )
    );
    query_posts( $args );
    if ( have_posts() ) : while ( have_posts() ) : the_post();
      echo get_post_format();
    endwhile; else:
      echo 'no';
    endif;
    wp_reset_query();      
    ?>
  </div><!-- #content -->
</div><!-- #container -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>

EDIT 2 - ऐसा प्रतीत होता है कि वर्डप्रेस कोडेक्स अब बदल गया है और Taxonomy Parameters पर भाग केवल Google कैश में पाया जाता है।

संस्करण 3 - अंतिम काम कोड

$args = array(
  'tax_query' => array(
    array(
      'taxonomy' => 'post_format',
      'field' => 'slug',
      'terms' => 'post-format-quote'
    )
  )
);
query_posts( $args );

पहले एडिट से बीस-दस संपादन होंगे ...

get_header(); ?>
<div id="container">
  <div id="content" role="main">
    <?php $args = array(
      'tax_query' => array(
        array(
          'taxonomy' => 'post_format',
          'field'    => 'slug',
          'terms'    => 'post-format-quote'
        )
      )
    );
    query_posts( $args );
    if ( have_posts() ) : while ( have_posts() ) : the_post();
      the_title();
      echo get_post_format();
      echo '<br />';
    endwhile; else:
      echo 'no';
    endif;
    wp_reset_query();      
    ?>
  </div><!-- #content -->
</div><!-- #container -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>

जवाबों:


7

यह कोड गलत है! आपके पास

'taxonomy' => 'post-format'

लेकिन यह वास्तव में होना चाहिए:

'taxonomy' => 'post_format'

अंडरस्कोर के बिना, क्वेरी अमान्य होगी। मैंने अभी अपने वर्डप्रेस 3.1 पर यह परीक्षण किया है कि मेरे बालों को घंटों तक खींचने के बाद स्थापित करें।

उम्मीद है की वो मदद करदे!!


उस पकड़ने के लिए बहुत-बहुत धन्यवाद। मैं शपथ ले सकता हूं कि मैंने मूल कोड को सीधे कोडेक्स पेज से कॉपी किया है। (शायद यह एक समय में भी गलत था।) अब यह काम करता है। इसे पोस्ट_फॉर्मेट में बदलने के साथ-साथ मुझे 'शब्द' => 'उद्धरण' को 'शब्द' => 'पोस्ट-फ़ॉर्मेट-उद्धरण' में बदलने की भी आवश्यकता थी। किसी अन्य इच्छुक व्यक्ति के लिए कृपया अंतिम कोड के लिए मूल पद का संपादन 3 देखें।
पीएनएमजी

यकीन है, खुशी है कि मैं मदद करने में सक्षम था। :)
जारेड व्हाइट

2

में tax_query"शब्द" सरणी स्वीकार करता है ताकि आप लगाने की जरूरत है post-format-quoteइस तरह एक सरणी में:

$args = array(
  'tax_query' => array(
    array(
      'taxonomy' => 'post-format',
      'field' => 'slug',
      'terms' => array('post-format-quote')
    )
  )
);
query_posts( $args );

क्या किसी ने यह कोशिश की है और यह काम करने के लिए मिल गया है। मैंने सरणी भाग जोड़ा और यह अभी भी कुछ भी वापस नहीं आया। क्या पोस्ट-प्रारूप-बोली सरणी में डालने के लिए सही स्लग है?
पीएनएमजी

नहीं, इसकी आवश्यकता नहीं है कि आप इसे "उद्धरण" की तरह पोस्ट फॉर्मेट में रखें और पोस्ट-फॉर्मेट-कोटेशन पर नहीं
बेनेटर्ट

क्या आपका मतलब है कि मुझे 'शर्तें' => सरणी ('उद्धरण') डालनी चाहिए क्योंकि मैंने जो कुछ भी कहा है वह add_theme_support फ़ंक्शन में है? मैंने भी यही कोशिश की। फिर भी नसीब नहीं।
PNMG

अच्छी तरह से 'शर्तें' => सरणी ('उद्धरण') मेरे लिए काम कर रहा है, 'इको get_post_format ();' के साथ पोस्ट प्रारूप को बाहर निकालने की कोशिश करें और देखते हैं कि आपको क्या मिलता है
बेनेटर्न

ठीक है, इसलिए जब मैं गूँजता हूँ कि मुझे 'बोली' मिलती है। हताशा के एक क्षण में मैंने सभी प्लगइन्स को बंद कर दिया है और डिफ़ॉल्ट बीसवें विषय पर वापस आ गया है, और 3 परीक्षण पोस्ट बनाए हैं, जिसमें एक बोली का प्रारूप है। मैंने निम्नलिखित कोड का उपयोग करने के लिए add_theme_support कॉल और अपडेट किए गए सूचकांक में उद्धरण जोड़ने के लिए functions.php फ़ाइल को अपडेट किया है: [मूल पोस्ट के नीचे संपादन देखें]
PNMG
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.