رفتن به مطلب

مشکل در قرار دادن عکس


wordpres

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

سلام

من با استفاده از افزونه multiple post thumbnails برای پست هام 2تا عکس قرار میدم که میخوام یکیش صفحه اصلی نمایش داده بشه و اون یکی صفحه ادامه مطلب

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


<?php if (class_exists('MultiPostThumbnails')) {
MultiPostThumbnails::the_post_thumbnail(get_post_type(), 'secondary-image'); }
else{?>
<img src="<?php bloginfo('template_url') ?>/img/noimgtour_i.jpg" alt=""><?php } ?>

مشکل چیه؟

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

اون پستی که عکس داره رو عکسش رو نشون میده اما اونی که نداره رو کلا عکسی نشون نمیده

کد php رو مشاهده کنید دستور شرط if هست :


<?php if (class_exists('MultiPostThumbnails')) {

در واقع اگر عکسی وجود داشته باشه محتوای درون حلقه شرط نمایش میده .

در غیر اینصورت نمایش نمیده .

لینک به ارسال

کد php رو مشاهده کنید دستور شرط if هست :


<?php if (class_exists('MultiPostThumbnails')) {

در واقع اگر عکسی وجود داشته باشه محتوای درون حلقه شرط نمایش میده .

در غیر اینصورت نمایش نمیده .

:|

خب عزیز این رو که میدونم منم اومدم یه else گذاشتم که اگر عکس نداشت اون عکسی که من میدونم رو نشون بده

اما نشون نمیده :|

لینک به ارسال

سلام. با اینسپکت المنت فایرفاکس موستونو ببرید روی سورس عکس ببینید عکس رو تو سورس نشون میده ؟

لینک به ارسال

از این تابع استفاده کنید:


get_template_directory_uri()

اگر نیاورد چند مشکل داره یا آدرس عکس یا اسمش یا فرمتش اشتباهه .

لینک به ارسال

از این تابع استفاده کنید:


get_template_directory_uri()

اگر نیاورد چند مشکل داره یا آدرس عکس یا اسمش یا فرمتش اشتباهه .

نه اگه فقط اون عکسی که من لینک کردم باشه اوکی هست و نشون میده اما وقتی شرط میزارم نمیشه

لینک به ارسال

اها دوستون مشکل رو متوجه شده بود اما طوری بیانش نکرده بود که راحت متوجه بشید.

بببینید منظورش این بوده که منطق شرط شما اشتباه هست، شما گفتی هر موقع این کلاس موجود بود این کار رو بکن هر موقع که نبود اون یکی در حالی که در حالتی که مطلب شما عکس نداره باز هم این کلاس موجوده اما برای مطلب شما عکسی موجود نیست یعنی عملا بخش دوم شرط اصلا اجرا نمیشه!

به جای این که از کلاس اگزیست استفاده کنید ، کدتون رو به این صورت بنویسید:


<?php if ( class_exists('MultiPostThumbnails') && MultiPostThumbnails::has_post_thumbnail() ) {
MultiPostThumbnails::the_post_thumbnail(get_post_type(), 'secondary-image'); }
else{?>
<img src="<?php bloginfo('template_url') ?>/img/noimgtour_i.jpg" alt=""><?php } ?>

لیست توابع اون کلاس هم توی لینک زیر میتونید ببینید:

https://github.com/voceconnect/multi-post-thumbnails/blob/master/multi-post-thumbnails.php

لینک به ارسال

اها دوستون مشکل رو متوجه شده بود اما طوری بیانش نکرده بود که راحت متوجه بشید.

بببینید منظورش این بوده که منطق شرط شما اشتباه هست، شما گفتی هر موقع این کلاس موجود بود این کار رو بکن هر موقع که نبود اون یکی در حالی که در حالتی که مطلب شما عکس نداره باز هم این کلاس موجوده اما برای مطلب شما عکسی موجود نیست یعنی عملا بخش دوم شرط اصلا اجرا نمیشه!

به جای این که از کلاس اگزیست استفاده کنید ، کدتون رو به این صورت بنویسید:


<?php if ( class_exists('MultiPostThumbnails') && MultiPostThumbnails::has_post_thumbnail() ) {
MultiPostThumbnails::the_post_thumbnail(get_post_type(), 'secondary-image'); }
else{?>
<img src="<?php bloginfo('template_url') ?>/img/noimgtour_i.jpg" alt=""><?php } ?>

لیست توابع اون کلاس هم توی لینک زیر میتونید ببینید:

https://github.com/v...-thumbnails.php

الان اون پستی هم که عکس داره رو عکسی که من لینک دادم رو براش نشون میده

یعنی برای همه اون عکس من رو نشون میده :((

لینک به ارسال

الان اون پستی هم که عکس داره رو عکسی که من لینک دادم رو براش نشون میده

یعنی برای همه اون عکس من رو نشون میده :((

برای استفاده از دستور else در ادامه از echo استفاده کنید احتمال زیاد به نتیجه برسید .

دستور بالایی تون اشتباه بود .

موفق باشید .

لینک به ارسال

با echo چجوری دقیقا؟؟


echo'<img src="/img/noimgtour_i.jpg" alt="">' ;

ویرایش شده توسط محمدرضـا
لینک به ارسال

سلام. کد زیر رو تست کنید و نتیجه رو بگید:


<?php if ( class_exists('MultiPostThumbnails') && MultiPostThumbnails::has_post_thumbnail(get_post_type(), 'secondary-image') ) {
MultiPostThumbnails::the_post_thumbnail(get_post_type(), 'secondary-image'); }
else{?>
<img src="<?php bloginfo('template_url') ?>/img/noimgtour_i.jpg" alt=""><?php } ?>

لینک به ارسال

سلام. کد زیر رو تست کنید و نتیجه رو بگید:


<?php if ( class_exists('MultiPostThumbnails') && MultiPostThumbnails::has_post_thumbnail(get_post_type(), 'secondary-image') ) {
MultiPostThumbnails::the_post_thumbnail(get_post_type(), 'secondary-image'); }
else{?>
<img src="<?php bloginfo('template_url') ?>/img/noimgtour_i.jpg" alt=""><?php } ?>

بالاخره درست شد

ممنون :*

لینک به ارسال

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

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

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

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

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

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

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

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

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