3.1 में लिंक के बिना get_the_term_list


13

पाठ के रूप में पोस्ट के साथ जुड़े कस्टम टैक्सोनॉमी क्या कार्य प्रदर्शित करेंगे?

मैं वर्तमान में get_the_term_list का उपयोग कर रहा हूं, जो एक विलक्षण पृष्ठ के लिए बहुत अच्छा काम करता है, लेकिन संग्रह-पोस्टपे.पिप पर्मलिंक शीर्षक टैग में एक वर्गीकरण का उपयोग करते समय ऐसा नहीं है।

जवाबों:


15

wp_get_object_terms () किसी ऑब्जेक्ट से जुड़ी शर्तों (जैसे पोस्ट या पृष्ठ या कस्टम पोस्ट) को पाठ के रूप में (सामान्य रूप से किसी सरणी में) लौटाता है।

Wp_get_object_terms () के लिए कोड पृष्ठ से

$productcategories = wp_get_object_terms($post->ID, 'productcategories');


ध्यान रखें कि क्वेरी परिणाम जैसे कैश नहीं किए गए हैं get_the_terms()। जानकारी के लिए कोडेक्स पेज देखें ।
डायलन

22

हालांकि @anu सही है, मुझे पता चला है कि आप php फ़ंक्शन को कॉल कर सकते हैं स्ट्रिप_टैग्स को रिटर्न वैल्यू के टैग को हटाने के लिए।

$terms = get_the_term_list( $post->ID, 'tags' );
$terms = strip_tags( $terms );

इतना सरल दिखता है और काम करता है। क्या इसका उपयोग करने में कोई नकारात्मक पहलू है?
मोहसिन

@Mohsin एक नकारात्मक पक्ष यह है कि यह सभी टैग हटाता है, न कि केवल <a> टैग। हालाँकि, आप वांछित टैग को छीनने से रोक सकते हैं, जैसे:$terms = strip_tags( $terms, '<li>' );
डेविड

2

मुझे लगता है कि सबसे अच्छा तरीका यह है कि शब्द सूची के लिए एक फ़िल्टर लागू किया जाए, जो सूची से केवल पाठ के regexp के माध्यम से निकालें

get_the_terms_list () यहां लागू किया गया है: http://core.trac.wordpress.org/browser/tags/3.0.4/wp-includes/category-template.php#L948

 $term_links = apply_filters( "term_links-$taxonomy", $term_links );

आप स्वयं फ़िल्टर लागू कर सकते हैं।


1
$terms = wp_list_pluck( get_the_terms( get_the_ID(), 'your_taxonomy' ), 'name');

यहां $ शर्तें एक सरणी है, इसलिए आप एक फ़ॉरच लूप का उपयोग कर सकते हैं।

foreach( $terms as $term ) {
  echo $term;
}

0

मुझे वही और आजमाया हुआ ज़ैक समाधान चाहिए जो बहुत अच्छा काम करता है। उदाहरण के लिए, यदि आपको सीएसएस आईडी या कक्षा में रखने के लिए केवल शब्द की आवश्यकता है। समाधान के बारे में केवल एक एनोटेशन, फ़ंक्शन खराब कहा जाता है, ठीक से "get_the_term_list" है।

मैं अपना उदाहरण दिखाता हूं:

$terms = get_the_term_list( $post->ID, 'your_taxonomy_name' );
$terms = strip_tags( $terms );
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.