क्या मैं किसी श्रेणी के लिए डिफ़ॉल्ट रूप से चित्रित छवि सेट कर सकता हूं?


10

मैं एक विषय के साथ एक साइट स्थापित कर रहा हूं जो वर्डप्रेस की "चित्रित छवि" सुविधा का लाभ उठाती है। चूंकि मेरे अंतिम उपयोगकर्ता दुनिया में सबसे टेक सैवी नहीं हैं, इसलिए मैं चीजों को स्थापित करना चाहूंगा ताकि श्रेणियों को एक डिफ़ॉल्ट "चित्रित छवि" पोस्ट को सौंपी जाए। एक पद के लिए कई श्रेणियों को सौंपे जाने की स्थिति में, यह केवल पहले वाले को ले जाएगा।

क्या कोई मौजूदा प्लगइन या इसे कोड करने का एक तरीका है?



2 साल बाद, एक वर्डप्रेस प्लगइन है जो ऐसा करता है। चेकआउट "श्रेणियाँ के लिए चुनिंदा छवियां" wordpress.org/plugins/featured-images-for-categories

इस प्लगइन का उपयोग करें: wordpress.org/extend/plugins/categories-images यह श्रेणियों और किसी भी कस्टम वर्गीकरण के लिए भी काम करता है, आप प्लगइन के बारे में और अधिक जानकारी प्राप्त कर सकते हैं, इसका उपयोग कैसे करें और दस्तावेज़ों में बहुत सारे उदाहरण
मुहम्मद

जवाबों:


13

आपके टेम्प्लेट में जहां आपके पास प्रदर्शित छवि प्रदर्शित होती है: <?php the_post_thumbnail( 'thumbnail' ); ?>आप इसे इस बात पर सशर्त बना सकते हैं कि फीचर्ड इमेज सेट है या नहीं, तो क्या आपने जो भी सेट नहीं किया है, उसके लिए यह डिफ़ॉल्ट है।

ऐसा करने का एक तरीका सभी डिफ़ॉल्ट छवियों को एक निर्देशिका में रखना और उन्हें श्रेणियों के लिए नाम देना है, जैसे। news.jpg और reviews.jpg इसके बाद <?php the_post_thumbnail( 'thumbnail' ); ?>अपनी चुनिंदा छवि प्रदर्शित करने के लिए उपयोग करने के बजाय आप इसका उपयोग करेंगे:

<?php 
   if (  (function_exists('has_post_thumbnail')) && (has_post_thumbnail())  ) { 
      the_post_thumbnail('thumbnail');
   } else { ?>
      <img src="whatever/directory/<?php $category = get_the_category(); echo $category[0]->cat_name; ?>.jpg" /> <?php }
   endif;
} ?>

तो ऊपर के इस उदाहरण में यदि पोस्ट समाचार श्रेणी में है और आपके लेखक ने फीचर्ड इमेज सेट नहीं की है, तो वह उस इमेज को डिफॉल्ट करेगा जिसे स्टोर किया गया है http://www.yoursite/whatever/directory/news.jpg


यह है कि मैं इसे कैसे करते हैं। +1
एप्स

यदि कोई पोस्ट कुछ श्रेणियों से संबंधित है तो क्या हुआ?
एर

अच्छा प्रश्न। get_the_category()केवल एक श्रेणी लौटाएगा और मैं भूल गया कि यह कैसे तय करता है कि किस श्रेणी का उपयोग करना है।
मैट

1
get_the श्रेणी () सभी श्रेणियों को एक सरणी के रूप में मिल रही है, लेकिन आपको एक लिटिकल ट्रिक चाहिए। studiograsshopper.ch/code-snippets/…
Eray

2
<?php if (  (function_exists('has_post_thumbnail')) && (has_post_thumbnail())) : ?>

<?php the_post_thumbnail('thumbnail'); ?>

<?php else :?>

<img src="<?php bloginfo('template_directory'); ?>/your image directory name in theme folder/<?php $category = get_the_category(); echo $category[0]->cat_name; ?>.jpg" /> 

<?php endif;?>

2

मैं श्रेणी के नाम वाली कुछ समस्याओं में भाग गया जिनके रिक्त स्थान मैं अपनी आवश्यकताओं को फिट करने के लिए उपरोक्त कोड को थोड़ा बदल दिया

<?php if (  (function_exists('has_post_thumbnail')) && (has_post_thumbnail())) : ?>

<?php the_post_thumbnail('thumbnail'); ?>

<?php else :?>

<img src="whatever/directory/<?php $category = get_the_category(); echo $category[0]->cat_ID; ?>.jpg" /> 

<?php endif;?>

मूल रूप से सिर्फ बदलाव

echo $category[0]->cat_name;

सेवा

echo $category[0]->cat_ID;

जो आपकी छवि को 16.jpg या 3.jpg बना देगा जो आपकी श्रेणी संख्या के साथ मेल खाती है।


मुझे लगता है कि बहुत से लोग कैट आईडी का उपयोग करना पसंद करते हैं क्योंकि यह सुरक्षित है और आपको श्रेणी लेबल या स्लग को बदलने की अनुमति देता है।
डेमियन

2

ऊपर करने के लिए एक क्लीनर तरीका;)

if ( ( function_exists( 'has_post_thumbnail' ) ) && ( has_post_thumbnail() ) ) : 
    the_post_thumbnail( 'thumbnail' );
else :
    ?><img src="whatever/directory/<?php 
        $category = get_the_category(); echo $category[0]->cat_name; 
        ?>.jpg" /><?php
endif;

1

मैंने माइकल फील्ड्स द्वारा टैक्सोनॉमी इमेज का सफलतापूर्वक उपयोग किया है - यह प्रबंधन कार्यों को श्रेणी / टैक्सोनॉमी एडिट पेज में जोड़ता है, जिससे कि इमेजेज टैक्सोनोमी के लिए काम करते हैं जैसे वे पदों / पृष्ठों के साथ करते हैं। क्या उन सभी कार्यों की आवश्यकता है जो आपको अपने थीमिंग के लिए चाहिए।

कस्टम टैक्सोनॉमी व्यवस्थापक स्क्रीन का स्नैप

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