رفتن به مطلب

نحوه استفاده از omdb api برای نمایش اطلاعات imdb


dark master

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

با file_get_content و json_decode انجام بدید و آیدی فیلم در imdb هم با زمینه دلخواه وارد کنید


function get_imdb($ID){
$url=file_get_contents("http://www.omdbapi.com/?i=".$ID."");
$details=json_decode($url);

$print.="<ul>";
$print.="<li><span><b>عنوان:</b>".$details->Title."</span></li>";
$print.="<li><span><b>سال تولید:</b>".$details->Year."</span></li>";
$print.="<li><span><b>ژانر:</b>".$details->Genre."</span></li>";
$print.="<li><span><b>کارگردان:</b>".$details->Director."</span></li>";
$print.="<li><span><b>نویسنده:</b>".$details->Writer."</span></li>";
$print.="<li><span><b>ستارگان:</b>".$details->Actors."</span></li>";
$print.="<li><span><b>IMDB:</b>".$details->imdbID."</span></li>";
$print.="</ul>";

echo $print;
}

در مطلب به این صورت به کار ببرید


<?php
$ID = get_post_meta($post->ID, 'نام زمینه دلخواه',true);
echo get_imdb($ID);
?>

لینک به ارسال

با file_get_content و json_decode انجام بدید و آیدی فیلم در imdb هم با زمینه دلخواه وارد کنید


function get_imdb($ID){
$url=file_get_contents("http://www.omdbapi.com/?i=".$ID."");
$details=json_decode($url);

$print.="<ul>";
$print.="<li><span><b>عنوان:</b>".$details->Title."</span></li>";
$print.="<li><span><b>سال تولید:</b>".$details->Year."</span></li>";
$print.="<li><span><b>ژانر:</b>".$details->Genre."</span></li>";
$print.="<li><span><b>کارگردان:</b>".$details->Director."</span></li>";
$print.="<li><span><b>نویسنده:</b>".$details->Writer."</span></li>";
$print.="<li><span><b>ستارگان:</b>".$details->Actors."</span></li>";
$print.="<li><span><b>IMDB:</b>".$details->imdbID."</span></li>";
$print.="</ul>";

echo $print;
}

در مطلب به این صورت به کار ببرید


<?php
$ID = get_post_meta($post->ID, 'نام زمینه دلخواه',true);
echo get_imdb($ID);
?>

خیلی ممنون

کد های اول رو در فانکشن و کدای دوم رو درsingle کپی کردم ، منتها فقط عنوان ها مثل : عنوان سال تولید و غیره نبرای همه پست ها حتی اون هایی که زمینه دلخواه خالی بود نمایش داده شد!!

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

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

برای پست ها اگر می خواید فقط برای اون هایی که آیدی Imdb رو وارد کردید نشون داده بشه به این صورت استفاده کنید


<?php
$ID = get_post_meta($post->ID, 'im',true);
if(!empty($ID)){
echo get_imdb($ID);
}
?>

لینک به ارسال

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

برای پست ها اگر می خواید فقط برای اون هایی که آیدی Imdb رو وارد کردید نشون داده بشه به این صورت استفاده کنید


<?php
$ID = get_post_meta($post->ID, 'im',true);
if(!empty($ID)){
echo get_imdb($ID);
}
?>

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

حالا چطوری میشه پوستر رو فراخوانی کرد؟

جز اون امکانش هست که سریال و فیلم رو با به شکل متفاوت اطلاعاتشون رو فراخوانی کرد؟

سوال اخرمم اینه که کد های فعلیو به این شکل ویرایش کردم اما قسمت های زمان، جوایز،کشور سازنده،تاریخ انتشار،امتیاز منتقدین، اطلاعاتی رو نمایش نمیدن!! مشکل از چیه؟


function get_imdb($ID){
$url=file_get_contents("http://www.omdbapi.com/?i=".$ID."");
$details=json_decode($url);
$print.="<ul>";
$print.="<li><span><b>عنوان:</b>".$details->Title."</span></li>";
$print.="<li><span><b>تاریخ انتشار:</b>".$details->released."</span></li>";
$print.="<li><span><b>ژانر:</b>".$details->Genre."</span></li>";
$print.="<li><span><b>کارگردان:</b>".$details->Director."</span></li>";
$print.="<li><span><b>نویسنده:</b>".$details->Writer."</span></li>";
$print.="<li><span><b>ستارگان:</b>".$details->Actors."</span></li>";
$print.="<li><span><b>زمان:</b>".$details->runtime."</span></li>";
$print.="<li><span><b>جوایز:</b>".$details->awards."</span></li>";
$print.="<li><span><b>کشور سازنده:</b>".$details->country."</span></li>";
$print.="<li><span><b>امتیاز منتقدین:</b>".$details->metascore."</span></li>";
$print.="<li><span><b>امتیاز IMDB:</b>".$details->imdbRating."</span></li>";
$print.="<li><span><b>تعداد رای دهندگان:</b>".$details->imdbVotes."</span></li>";
$print.="</ul>";
echo $print;
}

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

پوستر که چیلتره از تصویر شاخص استفاده کنید بهتره.

اون اطلاعاتی که نشون نمی ده هم باید حرف اولشون بزرگ باشه مثل :


http://www.omdbapi.com/?i=tt1520211

با شرط in_category می تونید استایل بدید به نحوه ی نمایش سریال یا فیلم


https://codex.wordpress.org/Function_Reference/in_category

فکر کنم افزونه ی زیر که فارسی هست بهتر باشه به صورت زیمنه دلخواه اطلاعات رو هم ذخیره می کنه


http://imdbi.opticteam.net/

لینک به ارسال

پوستر که چیلتره از تصویر شاخص استفاده کنید بهتره.

اون اطلاعاتی که نشون نمی ده هم باید حرف اولشون بزرگ باشه مثل :


http://www.omdbapi.com/?i=tt1520211

با شرط in_category می تونید استایل بدید به نحوه ی نمایش سریال یا فیلم


https://codex.wordpress.org/Function_Reference/in_category

فکر کنم افزونه ی زیر که فارسی هست بهتر باشه به صورت زیمنه دلخواه اطلاعات رو هم ذخیره می کنه


http://imdbi.opticteam.net/

ممنون

اما در مورد in_category، منظورمو اشتباه گفتم فکر کنم، منظورم اینه که مثلا برای سریال اطلاعاتی که فراخوانی میشه متفاوت از اطلاعاتی که برای فیلم فراخوانی میشه ، باشه ... مثلا قسمت کارگردان در سریال نمایش داده نشه ... نظر خودم این هست که از دو زمینه دلخواه یکی برای سریال و دیگری برای فیلم استفاده کنم، اما باقیش رو نمیدونم چیکار کنم

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

این امکان هست که تعدادی از اطلاعات رو تبدیل به دسته بندی و تاکسونومی کرد؟ مثلا ژانر های یک فیلم رو ....

این سایت برای مثال مشابه این کار هارو انجام داده ، به نظر شما از omdb.api هستفاده کرده؟

http://tinymoviez130...1739?the-zodiac

در مورد افزونه imdbi، اگه omdb api تعطیل بشه، اطلاعاتی که به صورت زمینه دلخواه ذخیره کرده بود رو نمایش میده و مشکلی برای پست های قبلی به وجود نمیاد؟؟

در کل شنیده بودم omdb api ممکنه پولی بشه یا اینکه کلاتعطیل بشه، شما اطلاعی ندارین؟

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

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

در مورد پولی شدن omdb خبری ندارم.

باز هم با in_category میشه اون قسمت ها رو برداشت و شرط گذاشت و روش دیگه هم هست.

بهترین حالت استفاده از زمینه دلخواه ها برای اطلاعت فیلم و سریال هست اما اگر بخواید آرشیوی هم درست کنید بهترین گزینه تاکسونومی است که الان به همین روش رو آوردن و مزیتش آرشیو کردن اطلاعات هست.مثال :


http://www.yekmovie.tv/movies/%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D9%85%D8%B3%D8%AA%D9%86%D8%AF-messi/


http://www.yekmovie.tv/genre/biography/

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

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


http://wp-parsi.com/article/wordpress-taxonomy/

اگر اطلاعات omdb به صورت زمینه دلخواه ذخیره بشه خب بعدا در صورت از کار افتادن اون سایت میشه اطلاعات رو مجدد با کمک زمینه دلخواه ها قرار داد.

لینک به ارسال

در مورد پولی شدن omdb خبری ندارم.

باز هم با in_category میشه اون قسمت ها رو برداشت و شرط گذاشت و روش دیگه هم هست.

بهترین حالت استفاده از زمینه دلخواه ها برای اطلاعت فیلم و سریال هست اما اگر بخواید آرشیوی هم درست کنید بهترین گزینه تاکسونومی است که الان به همین روش رو آوردن و مزیتش آرشیو کردن اطلاعات هست.مثال :


http://www.yekmovie.tv/movies/%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D9%85%D8%B3%D8%AA%D9%86%D8%AF-messi/


http://www.yekmovie.tv/genre/biography/

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

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


http://wp-parsi.com/article/wordpress-taxonomy/

اگر اطلاعات omdb به صورت زمینه دلخواه ذخیره بشه خب بعدا در صورت از کار افتادن اون سایت میشه اطلاعات رو مجدد با کمک زمینه دلخواه ها قرار داد.

بازم خیلی ممنون

اما درباره لینک دار کردن اون اطلاعاتی که گفتم، نگفتید... منظورم اینه که لینک imdb مربوط به همون قسمت رو بگیره ...

درباره

in_category مرجع فارسی برای اموزش سراغ ارید؟ واینکه اون روش دیگه چی هست؟

من منظورم این بود که مثلا این امکان هست که ژانر که داره به صورت خودکار فراخوانی میشه، به همون شکل سر جاش باشه ، منتها تبدیل به تاکسونومی هم بشه ... همچین چیزی امان داره در کل؟

پیشاپیش ممنون

لینک به ارسال
  • 1 ماه بعد...
  • 2 هفته بعد...

در تنظیمات افزونه فکر کنم وجود داره که به صورت زمینه دلخواه ذخیره می کنه

اما اگه از افزونه نمی خواید استفاده کنید باید یک متاباکس بسازید که آیدی فیلم ها در IMDB بهش بدید بعد با file_get_contents و json_decode اطلاعات رو از omdb بگیره و بعد از زدن دکمه ی انتشار مطلب با دستور update_post_meta اطلاعات رو به صورت زمینه دلخواه ذخیره کنه.

لینک به ارسال

در تنظیمات افزونه فکر کنم وجود داره که به صورت زمینه دلخواه ذخیره می کنه

اما اگه از افزونه نمی خواید استفاده کنید باید یک متاباکس بسازید که آیدی فیلم ها در IMDB بهش بدید بعد با file_get_contents و json_decode اطلاعات رو از omdb بگیره و بعد از زدن دکمه ی انتشار مطلب با دستور update_post_meta اطلاعات رو به صورت زمینه دلخواه ذخیره کنه.

میشه مثال بزنید؟ به صورت josn اطلاعات رو دریافت میکنم به این شکل:


function get_imdb($ID){
$url=file_get_contents("http://www.omdbapi.com/?i=".$ID."");
$details=json_decode($url);
$print.="<ul>";
$print.="<li><span><b>تاريخ انتشار:</b>".$details->Released."</span></li>";
$print.="<li><span><b>ژانر:</b>".$details->Genre."</span></li>";
$print.="<li><span><b>کارگردان:</b>".$details->Director."</span></li>";
$print.="<li><span><b>نويسنده:</b>".$details->Writer."</span></li>";
$print.="<li><span><b>ستارگان:</b>".$details->Actors."</span></li>";
$print.="<li><span><b>زمان:</b>".$details->Runtime."</span></li>";
$print.="<li><span><b>جوايز:</b>".$details->Awards."</span></li>";
$print.="<li><span><b>کشور سازنده:</b>".$details->Country."</span></li>";
$print.="<li><span><b>امتياز منتقدين:</b>".$details->Metascore."</span></li>";
$print.="<li><span><b>امتياز IMDB:</b>".$details->imdbRating."</span></li>";
$print.="<li><span><b>تعداد راي دهندگان:</b>".$details->imdbVotes."</span></li>";
$print.="<li><span><b>امتياز منتقدين:</b>".$details->Poster."</span></li>";
$print.="</ul>";
echo $print;
}

به صورت زمینه دلخواه هم فراخوانی میکنم :


<?php $ID = get_post_meta($post->ID, 'M-S-ID',true);
if(!empty($ID)){
echo get_imdb($ID);} ?>

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


<li><?php _e('Genre : ', 'record'); ?><?php imdbi('Genre'); ?></li><br>

لینک به ارسال

دوستان راهنمایی کنید

سوال سوم رو با استفاده از استایل display:none; حل کردم، این دو مورد مونده:

اول اینکه امکانش هست اطلاعات فراخوانی شده به صورت زمینه دلخواه ذخیره بشن؟

دوم اینکه اگه بخوام مثلا فقط ژانر رو در جایی فراخوانی کنم چیکار باید کنم وکد قراخوانی به چه شکله؟

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


$print.="<li> امتياز IMDB : ".$details->imdbRating." / 10";

لینک به ارسال

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

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

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

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

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

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

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

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

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