جهت ورود به تالار گفتمان سایت کلیک کنید


نمایش آخرین مطالب از طریق فید RSS در وب سایت شما ( فیدخوان )

خوب به درخواست چندی از کاربران سایت مبنی بر آموزشی در این زمینه , تصمیم به درج این پست در سایت اسکریپت دات کام کردم .

فید چیست ؟

خوراک وب یا به اختصار خوراک (به انگلیسی: web feed) یا فید یک قالب داده است که به کاربران اجازه می‌دهد محتویاتی که مرتباً به‌روز می‌شوند را به‌راحتی پیگیری نمایند.

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

هم‌اکنون بسیاری از وبلاگ‌ها و تارنماها، خوراک اختصاصی خود را پخش می‌کنند.

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

در این پست قصد دارم با استفاده از زبان php , خوراک ها رو به زبان قابل فهم تبدیل و برای انتشار در یک وبسایت آماده سازم .

به عنوان مثال شما پس از این آموزش میتوانید آخرین اخبار سایت خبری ایرنا رو در سایت خود داشته باشید .

نمایش-آخرین-مطالب-از-طریق-فید-rss

 

در ابتدا باید آدرس لینک RSS سایت مورد نظر را داشته باشید ( اکثرا در همان وبسایت برای عموم گذاشته میشود ) . مثلا برای سایت خبرگزاری ایرنا  : http://irna.ir//fa/rss.aspx?kind=-1

حال یک فایل به نام rss.class.php ساخته و کد های زیر را در آن وارد نمایید :

<?php
class rss
{
    var $feed;

    function rss($feed)
    {
        $this->feed = $feed;
    }

    function parse()
    {
        $rss = simplexml_load_file($this->feed);

        $rss_split = array();
        foreach ($rss->channel->item as $item) {
            $title = (string)$item->title; 
            $link = (string)$item->link; 
            $description = (string)$item->description; 
            $rss_split[] = '<li class="vms">
        <a href="' . $link . '" target="_blank" title="" > <span style="color:indianred">*</span>
            ' . $title . '
        </a>
          </li>
';
        }
        return $rss_split;
    }

    function display($numrows, $head)
    {
        $rss_split = $this->parse();

        $i = 0;
        $rss_data = '<div class="vms-rss">
           <div class="vms-title">
         ' . $head . '
           </div>
         <div class="vms-links">';
        while ($i < $numrows) {
            $rss_data .= $rss_split[$i];
            $i++;
        }
        $trim = str_replace('', '', $this->feed);
        $user = str_replace('&lang=fa-ir&format=rss_200', '', $trim);
        $rss_data .= '</div></div>';
        return $rss_data;
    }
}
?>

حال کافیست برای نمایش آخرین مطالب در سایت خود , کد php زیر را در مکان مورد نظر خود وارد نمایید . توجه نمایید که چون کد php می باشد , پس حتما باید در فایلی که php می باشد قرار دهید و در فایل با پسوند html و … اجرا نمیشود .

include('rss.class.php');
$feedlist = new rss('http://xn--mgbguh09aqiwi.com/rss');
echo $feedlist->display(5, "اسکریپت دات کام");

در کد بالا به جای http://xn--mgbguh09aqiwi.com/feed , آدرس فید RSS سایت مورد نظر خود را وارد نمایید . سپس در خط زیرینش میتوانید تنظیماتی از جمله تعداد مطالب نمایش شونده و اسم عنوان کادر مورد نظر خود را وارد نمایید  که در بالا 5 پست آخر سایت اسکریپت دات کام را نمایش خواهد داد .

میتوانید برای دیزاین زیباتر این کادر به نمایش در آمده , از Css زیر استفاده نمایید و آن را در فایل Css سایت خود وارد نمایید .

<style>
.vms-rss {
	float:left;
	width:330px;
	padding:10px;
	direction:rtl;
	font-family:tahoma;
	margin:20px;
}
.vms-title {
	font-size: 15px;
	font-weight: bold;
	background-color:#639;
	color: #FFFFFF;
	padding: 5px;
	text-align: center;
	border:1px solid #639;
	border-radius:3px 3px 0px 0px;
}
.vms-links {
	text-align: right;
	padding: 5px;
	border: 1px solid #639;
	font-size: 13px;
	border-radius:0px 0px 3px 3px;
}
.vms a{
	text-decoration:none;	
}
li.vms{
	margin:13px 0;
	list-style-type:none;
}
</style>

 نمایش نمونه آماده 

دانلود فایل آماده از آموزش بالا

[sdm_download id=”6136″ fancy=”0″]

———————————————————————————–

ضمنا شما اگر از وردپرس استفاده می کنید , میتونید از تکه کد php زیر در قالب خود استفاده نمایید تا بسیار راحت تر به هدف خود برسید

<?php include_once(ABSPATH.WPINC.'/feed.php');
 $rss = fetch_feed('http://اسکریپت.com/feed/');
 $maxitems = $rss->get_item_quantity(5);
 $rss_items = $rss->get_items(0, $maxitems);
?>
 <ul>
<?php if ($maxitems == 0) echo '<li>مطلبی یافت نشد!</li>';
 else
 
 foreach ( $rss_items as $item ) : ?>
 <li>
 <a href='<?php echo $item->get_permalink(); ?>'
 title='<?php echo 'ارسال شده در : '.$item->get_date('j F Y | g:i a'); ?>'>
<?php echo $item->get_title(); ?></a>
 </li>
<?php endforeach; ?>
 </ul>

نکته : در خط 2 آدرس فید را وارد نمایید و در خط 3 تعداد مطالب قابل نمایش که به صورت پیش فرض 5 می باشد را تغییر دهید.

———————————————————————————–

آموزش : وحید مجیدی

پخش اختصاصی

جهت تبادل گفتگو و حل مشکلات در باره این موضوع , کلیک کنید

11 پاسخ به “نمایش آخرین مطالب از طریق فید RSS در وب سایت شما ( فیدخوان )”

  1. Amooo SiyA گفت:

    با سلام :
    مثل همیشه عالی بود

  2. IrNazesh گفت:

    من توی لوکال امتحان کردم
    Notice: Undefined offset: 10 in D:xampphtdocsphprssrss.class.php on line 41
    مشکل هم اینه که از 10تا به بالا با اخطار مواجه میشود
    موفق باشید :)

    • وحید مجیدی گفت:

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

      • IrNazesh گفت:

        تست کردم فهمیدم اگر تعداد فیدها مثلاً 10 عدد باشه و در اسکریپت بیشتر از 10تا رو فراخوانی کنی این خطا رو میده
        تعداد فیدها رو روی 15تا ست کردم اسکریپت کار کرد بدون خطا
        چجوری میشه تعداد فیدها رو بدست آورد؟

      • مدیر سایت شهید ترکی گفت:

        سلام چطوری فید سایتم روبه :
        http://www.shahidtorki.ir/feed
        تبدیل کنم

        • وحید مجیدی گفت:

          یه پوشه به نام feed در root سایت خود بسازید . سپس مراحل رادر داخل آن انجام دهید

  3. IrNazesh گفت:

    بسیار کاربردی و مفید :)

  4. محمد گفت:

    سلام
    شما می تونید مثل سایت زیر طراحی کنید هزینه اش چقدر می شود؟
    http://ariamarket.ir/

  5. master گفت:

    Ali bod ba sepas

    Alan ba mobilam eshalah farda test mikonam ro sitam

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *