رفتن به مطلب

افزودن تصویر به دسته های وردپرس


پست های پیشنهاد شده

در در 2/27/2019 at 20:37، mehran-b گفته است :

یعنی عکسه رو واقعا به عنوان تصویر شاخص برای پست انتخاب کنه؟

بله. یعنی تو قالب همان شکل قبلی نشون بده ولی برای موتور جستجو به عنوان تصویر شاخص معرفی کنه. فکر کنم باید درون کدهای قسمت تصویر شاخص، که نمایش مربوط به اون افزونه را که شما نوشته بودید را قرار دهیم. یعنی کد زیر که تو فایل content.php قرار دارد.

	<?php echo mehran_get_post_last_child_image(get_the_ID()); ?>

 

ویرایش شده توسط miraziz
لینک به ارسال

@miraziz

 

کد زیر رو به انتهای فایل functions.php قالب فعال سایتتون اضافه کنید.

add_filter('get_post_metadata', function($value, $object_id, $meta_key, $single) {
	
	if($meta_key !== '_thumbnail_id')
		
		return $value;
	
	$cats = get_the_category($object_id);
	
	if(empty($cats))
		
		return $value;
	
	$childs = array();
	
	foreach($cats as $cat) {
		
		if($cat->category_parent !== 0)
			
			$childs[] = $cat->cat_ID;
		
	}
	
	if($childs === array())
		
		return $value;
	
	$last_child = max($childs);
	
	$images = get_option('taxonomy_image_plugin');
	
	if(!isset($images[$last_child]))
		
		return $value;
		
	return $images[$last_child];
	
}, 999, 4);

بعد از اضافه کردن کد فوق، از هر کدوم از توابع تصاویر شاخص برای پست ها استفاده کنید تصویر دسته اون ارسال میشه برای پست مربوطه.

لینک به ارسال

@mehran-b

سلام. آقا مهران دستتان درد نکنه. من کدی که دادید را قرار دادم و نتیجه ی نهایی به صورت تصویر که پیوست کردم شد.
یعنی تصویر بندانگشتی به بالای مطلب اضافه شد. کمی در موردش فکر کردم و دیدم که در این صورت باید تصویر مربوط به دسته را از قالب حذف کنم و تنها تصویر شاخص باقی بماند. فقط یک مشکل کوچیک بود. الان اگر بر روی تصویر دسته (عکس کوچک) کلیک کنیم به صفحه آن دسته هدایت می‌شود. ولی وقتی بر روی تصویر شاخص(عکس بزرگتر) کلیک میکنم به ادامه‌ی مطلب می‌رود. نمی شود کاری کرد که وقتی بر روی تصویر شاخص کلیک می‌شود به صفحه‌یِ دسته‌یِ آن مطلب برود؟

5c79075784190_Screenshot(166).png.43e47fc4e20c3c4316d51011868c4532.png

لینک به ارسال

@mehran-b
اینا کدهای مربوط به contetn.php است که فکر کنم تصویر شاخص را از همینجا فراخوانی میکنه. اینجا میشه به تصویر شاخص لینک فرزندترین دسته اش را داد.

	<?php if ( has_post_thumbnail() ) : ?>
	
			<div class="featured-media">
			
				<a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>">
				
					<?php the_post_thumbnail('post-image'); ?>
					
					<?php if ( !empty(get_post(get_post_thumbnail_id())->post_excerpt) ) : ?>
									
						<div class="media-caption-container">
						
							<p class="media-caption"><?php echo get_post(get_post_thumbnail_id())->post_excerpt; ?></p>
							
						</div>
						
					<?php endif; ?>
					
				</a>
						
			</div> <!-- /featured-media -->
				
		<?php endif; ?>

	<?php echo mehran_get_post_last_child_image(get_the_ID()); ?>

 

لینک به ارسال

@miraziz

 

تابع زیر آخر functions.php

function the_last_child_cat_link($post_id) {
	
	$post = get_post($post_id);
	
	if(!$post)
		
		return;
		
	$cats = get_the_category($post->ID);
	
	if(empty($cats))
		
		return $value;
	
	$childs = array();
	
	foreach($cats as $cat) {
		
		if($cat->category_parent !== 0)
			
			$childs[] = $cat->cat_ID;
		
	}
	
	if($childs === array())
		
		return;
	
	$last_child = max($childs);
	
	echo esc_url(get_category_link($last_child));
	
}

توی کدی هم که دادید جای

<?php the_permalink(); ?>

بذارید

<?php the_last_child_cat_link(get_the_ID()); ?>

 

لینک به ارسال
  • 3 هفته بعد...
در در 3/1/2019 at 14:23، mehran-b گفته است :

خواهش میکنم.

موفق باشید

سلام. آقا مهران یادتان است که یک هفته پیش کدها را به نحوی تغییر دادید که تصویر هر دسته به عنوان تصویر شاخص اون مطلب نشون داده شود. یک سوالی داشتم. تو شبکه های اجتماعی برخی از از لینک هایی که به اشتراک می گذاریم تصویر ساخص اون را هم برمی داره. مثل عکس زیر5c8f880512088_Screenshot(169).png.3f6a60856efadf2fdc8385786c33a599.png

 

ولی برای لینک های سایت من این اتفاق نمی افتد. دلیلش از چی میتونه باشه؟ (مانند عکس زیر از سایت خودم)
5c8f8830d04c1_Screenshot(169)-Copy.png.688d4c493bec2c9201a7767b2f7a2843.png

 

لینک به ارسال
  • 5 هفته بعد...

@mehran-b

سلام آقا مهران. شرمنده اگر دوباره مزاحمتان می شوم. اون مشکل را فهمیدم از کجا بود. مربوط به کدهای open graph است که هر شبکه ی اجتماعی مخصوص خود را دارد و از آن رو حل شد.
فقط یادتان هست در کد آخر تصویر دسته به جای تصویر شاخص مطلب استفاده می شود. وقتی موس را روی تصویر نگه می دارم به عناون خصوصیت Alt عنوان نوشته را نشان می‌دهد. نمیشه alt تصویر همان عنوان دسته باشد؟

لینک به ارسال

@miraziz

 

کد زیر رو توی functions.php قالب بذارید.

add_filter('get_post_metadata', function($value, $object_id, $meta_key, $single) {
	
	if($meta_key !== '_wp_attachment_image_alt')
		
		return $value;
		
	$parent = get_post_ancestors($object_id);
	
	$cats = get_the_category($parent[0]);
	
	if(empty($cats))
		
		return $value;
	
	$childs = array();
	
	foreach($cats as $cat) {
		
		if($cat->category_parent !== 0)
			
			$childs[] = $cat->cat_ID;
		
	}
	
	if($childs === array())
		
		return $value;
	
	$last_child = max($childs);
	
	return get_cat_name($last_child);
	
}, 999, 4);

 

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...