رفتن به مطلب

مشکل با نحوه نمایش ندادن اطلاعات imdbi


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

سلام

من از افزونه imdbi استفاده میکنم، حالا مشکلم اینه که وقتی برای فیلمی اطلاعاتی از imdb وجود نداشته باشه میخوام که کلماتی که مربوط به هر قسمت هست نمایش داده نشه، از کد زیر استفاده کردم اما بی تاثیره، لطفا راهنمایی کنید


<ul class="imdb-info">
<?php if( imdbi('imdbVotes') ) { ?><li><?php _e('Imdb Rating : ', ''); ?><?php imdbi('imdbRating'); ?>/10 <?php } ?><?php if( imdbi('imdbVotes') ) { ?><?php _e(' from ', 'record'); ?><span class="imdbVotes"><?php imdbi('imdbVotes'); ?></span></li><br><?php } ?>
<li><?php if( imdbi('Metascore') ) { ?><?php _e('Metascore : ', ''); ?><?php imdbi('Metascore'); ?>/100<br><?php } ?></li>
<li><?php if( imdbi('Released') ) { ?><?php _e('Released : ', ''); ?><?php imdbi('Released'); ?><br><?php } ?></li>
<li><?php if( imdbi('Genre') ) { ?><?php _e('Genre : ', ''); ?><?php imdbi('Genre'); ?><br><?php } ?></li>
<li><?php if( imdbi('Director') ) { ?><?php _e('Director(s) : ', ''); ?><?php imdbi('Director'); ?><br><?php } ?></li>
<li><?php if( imdbi('Writer') ) { ?><?php _e('Writer(s) : ', ''); ?><?php imdbi('Writer'); ?><br><?php } ?></li>
<li><?php if( imdbi('Stars') ) { ?><li style="line-height: 16px;"><?php _e('Stars : ', ''); ?><?php imdbi('Actors'); ?><br><?php } ?></li>
<li><?php if( imdbi('Runtime') ) { ?><?php _e('Runtime : ', ''); ?><?php imdbi('Runtime'); ?><br><?php } ?></li>
<li><?php if( imdbi('Country') ) { ?><?php _e('Country : ', ''); ?><?php imdbi('Country'); ?><br><?php } ?></li>
<li><?php if(get_field('encoder') ) { ?><?php _e('Encoder : ', ''); ?><?php echo get_field('Encoder');?><br><?php } ?></li>
<li style="line-height: 16px;"><?php if( imdbi('Awards') ) { ?><?php _e('Awards : ', ''); ?><?php imdbi('Awards'); ?><br><?php } ?></li>
<li><?php if(get_field('plot') ) { ?><?php _e('Plot : ', ''); ?><?php echo get_field('plot');?><br><?php } ?></li>
<li><?php if(get_field('add_info') ) { ?><?php echo get_field('add_info');?><br><?php } ?></li>
</ul>
<div class="clear"></div>
</div>

لینک به ارسال

دوست عزیز چون فانکشن مقدار بازگشتی را echo می‌کند و استفاده از if برای این مورد کارساز نیست؛ درباره این مورد شما می‌تونید با نویسنده افزونه تماس بگیرید یا از Output Buffer استفاده کنید.

موفق باشید.

لینک به ارسال
دوست عزیز چون فانکشن مقدار بازگشتی را echo می‌کند و استفاده از if برای این مورد کارساز نیست؛ درباره این مورد شما می‌تونید با نویسنده افزونه تماس بگیرید یا از Output Buffer استفاده کنید. موفق باشید.

نمیشه حد اقل از استایل هاید براش استفاده کرد؟ چون اینجوری بی مصرف افزونه، یا حد اقل نمیشه اگه خالی بود یه - به جاش گذاشت؟؟

لینک به ارسال

سلام

چک کن اول ببین خروجی تابع هایی مثلا

imdbi('Genre')

چیه. اگه خروجی یک کاراکتر خالی یا ' ' نباشه و null یا '' باشه ... میتونی به جای اون دستور if که فقط تابع رو گذاشتی جاش، از تابع empty استفاده کنی که اگه خالی نبود، نمایش بده ! که در صورتی که خالی باشه نمایش نمیده ... اینطوری:

if ( !empty ( imdbi ( 'Genre' ) ) ) { ..... }

حالا اینو خودت تعمیم بده به بقیه if هایی که گذاشتی !

امیدوارم حل کنه مشکلتو دوست عزیز...

.

ویرایش برای مدیران عزیز انجمن:

ادیتور چرا اینکارارو میکنه :


imdbi('Genre')

وقتی کد میزارم !!!!

با کلید های کیبورد هم که زمان نوشتن کمک میکنند نمیشه راحت کار کرد توی ادیتور ...

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

سلام

چک کن اول ببین خروجی تابع هایی مثلا

imdbi('Genre')

چیه. اگه خروجی یک کاراکتر خالی یا ' ' نباشه و null یا '' باشه ... میتونی به جای اون دستور if که فقط تابع رو گذاشتی جاش، از تابع empty استفاده کنی که اگه خالی نبود، نمایش بده ! که در صورتی که خالی باشه نمایش نمیده ... اینطوری:

if ( !empty ( imdbi ( 'Genre' ) ) ) { ..... }

حالا اینو خودت تعمیم بده به بقیه if هایی که گذاشتی !

امیدوارم حل کنه مشکلتو دوست عزیز...

.

ویرایش برای مدیران عزیز انجمن:

ادیتور چرا اینکارارو میکنه :


imdbi('Genre')[/background][/size][/color]
[color=#282828][size=2][background=rgb(248, 248, 248)]

وقتی کد میزارم !!!!

با کلید های کیبورد هم که زمان نوشتن کمک میکنند نمیشه راحت کار کرد توی ادیتور ...

این کد نویسی که شما گفتید هم امتحان کرده بودم و بی تاثیر بود

لینک به ارسال

اول این کد رو بزارید توی functions.php:


function parsi_buffer_saver( $func, $param ) {
ob_start();
$func( $param );
return ob_get_clean();
}

کد رو بهتر به آخر فایا اضافه کنید.

سپس، در قسمتی که اطلاعات رو فراخوانی می‌کنید، به جای شیوه قبلی، به این صورت فراخوانی کنید، مثلاً برای ژانر:


$genre = parsi_buffer_saver( 'imdbi', 'Genre' );
echo ( $genre ) ? $genre : '-';

به این صورت اگه ژانری برای فیلم نباشه، - نمایش داده میشه.

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

موفق باشید.

لینک به ارسال

اول این کد رو بزارید توی functions.php:


function parsi_buffer_saver( $func, $param ) {
ob_start();
$func( $param );
return ob_get_clean();
}

کد رو بهتر به آخر فایا اضافه کنید.

سپس، در قسمتی که اطلاعات رو فراخوانی می‌کنید، به جای شیوه قبلی، به این صورت فراخوانی کنید، مثلاً برای ژانر:


$genre = parsi_buffer_saver( 'imdbi', 'Genre' );
echo ( $genre ) ? $genre : '-';

به این صورت اگه ژانری برای فیلم نباشه، - نمایش داده میشه.

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

موفق باشید.

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

ممنون امتحان یکنم حالا نمیشه کاری کرد که متن استایل display:none بگیره؟

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

مثال:


$genre = parsi_buffer_saver( 'imdbi', 'Genre' );
if ( $genre )
echo $genre;

در صورتی که ژانر نباشه، کلاً نوشته ای در کار نخواهد بود.

موفق باشید.

لینک به ارسال

مثال:


$genre = parsi_buffer_saver( 'imdbi', 'Genre' );
if ( $genre )
echo $genre;

در صورتی که ژانر نباشه، کلاً نوشته ای در کار نخواهد بود.

موفق باشید.

خیلی ممنون

فقط این کد رو کجا بزارم؟ به کدای قبلی احتیاج هست؟ بازم ممنون

لینک به ارسال

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

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

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

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

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

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

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

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

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