get_terms - केवल शीर्ष स्तर


13

मैं केवल शीर्ष स्तर का कार्यकाल पाने की कोशिश कर रहा हूं:

$cat_args = array(
    'parent '       => 0,
    'number'        => 10,
    'hide_empty'    => false,           
);

$categories = get_terms( 'question_category' , $cat_args); 

लेकिन यह क्वेरी सभी बच्चों को भी लौटाती है, मैंने सब कुछ करने की कोशिश की लेकिन इसे हमेशा बच्चे की शर्तें भी मिलती हैं।

मैं पिछले 5 घंटों से कोशिश कर रहा हूं और मेरे कोड में गलत नहीं मिल रहा है, क्या यह WP बग है या मेरे कोड में कुछ गड़बड़ है?

मदद के लिए धन्यवाद।


मुझे लगता है कि आपको अपने करोनोमी से केवल शीर्ष स्तर की शर्तों का मतलब हैquestion_category
पीटर गोसेन

हां मेरा मतलब है कि
आर्यन

जवाबों:


21

आपका कोड सही है, लगभग सही है। पहली नजर में, मुझे स्वीकार करना चाहिए, मैं भी चूक गया।

आपके कोड में दो सिंटैक्स त्रुटियां हैं। यदि आप बारीकी से देखते हैं, 'parent 'और 'parent'समान नहीं है। आपको एकल उद्धरणों ( ') और तर्कों के बीच रिक्त स्थान नहीं छोड़ना चाहिए ।

इसके अलावा, आपको ,अपने अंतिम तर्क के बाद जोड़ने की आवश्यकता नहीं है।

यह काम करना चाहिए

$cat_args = array(
    'parent'        => 0,
    'number'        => 10,
    'hide_empty'    => false           
);

EDIT 15-06-2016

वर्डप्रेस 4.5 से, सिंटैक्स के लिए बदल गया है get_terms()taxonomyपैरामीटर अब, सरणी या आर्ग में शामिल है तो नए प्रयोग इस तरह दिखेगा

$args = [
    'taxonomy'     => 'my_tax',
    'parent'        => 0,
    'number'        => 10,
    'hide_empty'    => false           
];
$terms = get_terms( $args );

2
बस एक नोट: आपको अंतिम सरणी तर्क के बाद जोड़ने की जरूरत नहीं है, , यह कैसे करना अच्छा है ?)
jave.web

@ jave.web इसके लिए धन्यवाद, मुझे पता है कि, मैं हमेशा ऐसा नहीं करता। ;-)
पीटर गोयन ने

@ jave.web अंतिम सरणी तर्क के बाद जोड़ने के लिए वास्तव में अच्छा अभ्यास नहीं, है, क्योंकि यह अन्य भाषाओं को तोड़ देगा, जो निरर्थक कॉमा के लिए सहनशील के रूप में उत्पन्न होती हैं। उदाहरण के लिए। यदि आप ऐसा करते हैं तो JSON टूट जाएगा।
मिकपोते

2
@ मायकपोटे जो वास्तव में सच नहीं है, यह अच्छा अभ्यास है और यदि आप कोड को एक भाषा से दूसरी भाषा में स्थानांतरित करने का प्रयास कर रहे हैं, तो आपको उचित रूपांतरण / टेर का उपयोग करना चाहिए। यह कहने जैसा है कि आपके पास तर्क के रूप में ऑब्जेक्ट क्रिएशन और / या वैरिएबल नहीं हो सकते, क्योंकि यदि आप इसे JSON कॉपी / पेस्ट करते हैं ... यह जावास्क्रिप्ट में भी अच्छा अभ्यास है, इसलिए बाद में हर जगह समर्थन जोड़ा गया। एक ही भाषा और परियोजना के अंदर कॉपी / पेस्ट करना बहुत अधिक संभव है और यदि संभव हो तो सामान्य धीमी गति को रोकती है - जो कि मेरे अनुभव से ही नहीं, बल्कि दूसरों के अनुभव से भी रोकता है।
jave.web

@Mikepote जो jave.web से कह रहा है, उससे निपटने के लिए, यह न केवल अच्छा अभ्यास है, बल्कि विशेष रूप से वर्डप्रेस PHP कोडिंग मानकों में अनुशंसित है, जिसे आदर्श रूप से सभी वर्डप्रेस-विशिष्ट कोड का पालन करना चाहिए: make.wordpress.org/core/handbook/best- प्रथाओं /…
सारा लुईस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.