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

amin704

کاربر عضو
سلام
من از افزونه 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>
 

MahdiY

راهبر انجمن
سلام

باید به شکل زیر باشه شرط ها

کد:
<li><?php if( !empty(imdbi('Country')) ) { ?><?php _e('Country : ', ''); ?><?php imdbi('Country'); ?><br><?php } ?></li>
 

amin704

کاربر عضو
سلام

باید به شکل زیر باشه شرط ها

<li><?php if( !empty(imdbi('Country')) ) { ?><?php _e('Country : ', ''); ?><?php imdbi('Country'); ?><br><?php } ?></li>
ممنون اما حل نشد، الان در حالت عادی که میخوام این اطلاعات نمایشداده بشه هم فقط اطلاعات افزونه نمایش داده میشه و این کلمات نمایش داده نمیشن

 

MahdiY

راهبر انجمن
یکم سوالتون گنگ هست البته از نظر من

میشه یه تصویر قرار بدین متوجه شرایط بشیم!

 

amin704

کاربر عضو
یکم سوالتون گنگ هست البته از نظر من

میشه یه تصویر قرار بدین متوجه شرایط بشیم!

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

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

x90upv3xc02p1yn65bdu.png


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

5omqrhx2jr3x0ekzx89o.png


اگه دقت کنید اون قسمت های فارسی مثله جوایز، بازیگرانريا، نویسنده، ژانر و ... همش در عکس دوم حذف شده!!

 

Mohammad

مدیر انجمن
پرسنل مدیریت
کدی که استفاده می کنی رو اینجا بزار ... کدی که با تغییرات ذکر شده مهدی هست منظورمه

 

amin704

کاربر عضو
کدی که استفاده می کنی رو اینجا بزار ... کدی که با تغییرات ذکر شده مهدی هست منظورمه
کد:
<ul class="imdb-info"><li><?php if( !empty('imdbRating'); ?><?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( !empty( imdbi('Metascore') ) { ?><?php _e('Metascore : ', ''); ?><?php imdbi('Metascore'); ?>/100<br><?php } ?></li><li><?php if( !empty( 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( !empty( imdbi('Director') ) { ?><?php _e('Director(s) : ', ''); ?><?php imdbi('Director'); ?><br><?php } ?></li><li><?php if( !empty( imdbi('Writer') ) { ?><?php _e('Writer(s) : ', ''); ?><?php imdbi('Writer'); ?><br><?php } ?></li><li><?php if( !empty( imdbi('Stars') ) { ?><li style="line-height: 16px;"><?php _e('Stars : ', ''); ?><?php imdbi('Actors'); ?><br><?php } ?></li><li><?php if( !empty( imdbi('Runtime') ) { ?><?php _e('Runtime : ', ''); ?><?php imdbi('Runtime'); ?><br><?php } ?></li><li><?php if( !empty( imdbi('Country') ) { ?><?php _e('Country : ', ''); ?><?php imdbi('Country'); ?><br><?php } ?></li><li><<?php if( !empty(get_field('encoder') ) { ?><?php _e('Encoder : ', ''); ?><?php echo get_field('Encoder');?><br><?php } ?></li><li style="line-height: 16px;"><?php if( !empty( 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>
 
آخرین ویرایش توسط مدیر:

Mohammad

مدیر انجمن
پرسنل مدیریت
عباراتی که درون _e (ترجمه) قرار دارن رو مستقیم بنویس و نتیجه رو بگو

یعنی:

<?php _e('Imdb Rating : ', ''); ?>بشه: رتبه IMDB:

 

amin704

کاربر عضو
عباراتی که درون _e (ترجمه) قرار دارن رو مستقیم بنویس و نتیجه رو بگو

یعنی:

<?php _e('Imdb Rating : ', ''); ?>بشه: رتبه IMDB:
اینکارو کردم، اما بازم همون مشکل باقیه، البته کد قبلیه که گذاشتم مشکل کوچیک داشت و کلا یه پرانتز هر خط کم داشت کد فعلی به این شکله:

<ul class="imdb-info"><li><?php if( !empty(imdbi('imdbRating')) ) { ?>امتیاز IMDB :<?php imdbi('imdbRating'); ?>/10 <?php } ?><?php if( !empty(imdbi('imdbVotes')) ) { ?> از ><span class="imdbVotes"><?php imdbi('imdbVotes'); ?></span></li><br><?php } ?><li><?php if( !empty( imdbi('Metascore')) ) { ?><?php _e('Metascore : ', ''); ?><?php imdbi('Metascore'); ?>/100<br><?php } ?></li><li><?php if( !empty( 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( !empty( imdbi('Director')) ) { ?><?php _e('Director(s) : ', ''); ?><?php imdbi('Director'); ?><br><?php } ?></li><li><?php if( !empty( imdbi('Writer')) ) { ?><?php _e('Writer(s) : ', ''); ?><?php imdbi('Writer'); ?><br><?php } ?></li><li><?php if( !empty( imdbi('Stars') )) { ?><li style="line-height: 16px;"><?php _e('Stars : ', ''); ?><?php imdbi('Actors'); ?><br><?php } ?></li><li><?php if( !empty( imdbi('Runtime')) ) { ?><?php _e('Runtime : ', ''); ?><?php imdbi('Runtime'); ?><br><?php } ?></li><li><?php if( !empty( 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( !empty( 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>اگه این موضوع درست بشو نیست نمیشه حداقل کاری کرد که در صورت خالی بودن از استایل display:none برای متنها استفاده بشه؟

 

MahdiY

راهبر انجمن
کد بالا به نظرم اشتباهه

شما li را باید داخل شرط بذارید

و فکر میکنم مشکل شما از همین باشه

مانند مثال زیر:

کد:
<?php if( !empty(imdbi('imdbRating')) ) { ?><li>امتیاز IMDB :<?php imdbi('imdbRating'); ?>/10 <?php } ?><?php if( !empty(imdbi('imdbVotes')) ) { ?> از ><span class="imdbVotes"><?php imdbi('imdbVotes'); ?></span></li><br><?php } ?>
 

amin704

کاربر عضو
کد بالا به نظرم اشتباهه

شما li را باید داخل شرط بذارید

و فکر میکنم مشکل شما از همین باشه

مانند مثال زیر:

<?php if( !empty(imdbi('imdbRating')) ) { ?><li>امتیاز IMDB :<?php imdbi('imdbRating'); ?>/10 <?php } ?><?php if( !empty(imdbi('imdbVotes')) ) { ?> از ><span class="imdbVotes"><?php imdbi('imdbVotes'); ?></span></li><br><?php } ?>
اقا باز بی تاثیر بود، کلا تاثیر li ها هم از بین رفت و مطالب پشت سر هم فراخوانی شدن انگار هیچ تگ li وجود نداره!! 

یه جا شنیدم توابع این افزونرو نمیشه کاریش کرد و اینکارکه من دنبالشم شدنی نیست، مگر اینکه نویسنده افزونه یک سری تغییرات ایجاد کنه، حالا نمیدونم چه قدر درسته این مطلب، اما اگه شدنی نیست حداقل نمیشه یه کاری کرد که از استایل display :none استفاده بشه؟ 

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

 

Mohammad

مدیر انجمن
پرسنل مدیریت
یه جا شنیدم توابع این افزونرو نمیشه کاریش کرد و اینکارکه من دنبالشم شدنی نیست، مگر اینکه نویسنده افزونه یک سری تغییرات ایجاد کنه، حالا نمیدونم چه قدر درسته این مطلب، اما اگه شدنی نیست حداقل نمیشه یه کاری کرد که از استایل display :none استفاده بشه؟
فکر نمیکنم صحت داشته باشه...

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

 

amin704

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

این کد رو گفت برای فانکشن :

function parsi_buffer_saver( $func, $param ) {ob_start();$func( $param );return ob_get_clean();}این کد رو هم دادن که مثله اینکه باید درقسمت فراخوانی تابع افزونه، جایگزینش کنم :

<?php imdbi('imdbRating'); ?>منتها این راهنمایی ناقص موند، چون اولا نمیدونم چه طور جایگزین کنم، دوما باید یه حرکتی هم رو متن ها بزنم تا اون ها هه در صورت عدم وجود مطلب نمایش داده نشن، دوستان اگه متوجه شدید راهنمایی کنید خیلی ممنون بازم

 
بالا