رفتن به مطلب

ساخت خبرخوان به وسیله iframe


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

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


<?php include_once(ABSPATH.WPINC.'/rss.php');
wp_rss('http://zar.ir/rss/NewArticles.aspx?cid=2609', 4); ?>

که این کد 4 مطلب از آدرسی که بهش دادم رو تو سایت من نشون میده و وقتی روش کلیک میکنی میره به اون سایت

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

باید چیکار کنم؟!

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

سلام.لطفا به این سایت یه نگاه بندازید

http://www.boursenews.ir/fa/news/129...AF%D8%A7%D8%B1

قسمت سایدبار سمت راست/خبرخوان رو مشاهده کنید

تمام لینک ها از سایت های دیگه هستش و نکته جالب اینجاست که وقتی روش کلیک میکنی به جای اینکه بره تو سایت مورد نظر توی همین سایت به صورت iframe مطلب رو نمایش میده

من فقط تونستم خبرهای سایت های دیگه رو توی سایتم به صورت لینک قرار بدم ولی وقتی روش کلیک میشه میره به سایت مقابل.منم میخوام مثل این سایت به صورت iframe تو سایت خودم باز بشه

کسی میدونه چطوری میشه انجام داد؟

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

با تابع fetch_feed میتوانید لیست رو بدست بیارید

و تارگت رو برابر iframe قرار دهید

http://codex.wordpress.org/Function_Reference/fetch_feed

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

با تابع fetch_feed میتوانید لیست رو بدست بیارید

و تارگت رو برابر iframe قرار دهید

http://codex.wordpre...ence/fetch_feed

میشه کدشو بدید؟

کد کاملشو که تارگتش آی فریم باشه و قسمت آدرس سایت هم باشه

من از این کد استفاده میکنم


<?php include_once(ABSPATH.WPINC.'/rss.php');
wp_rss('http://www.tabnak.ir/fa/rss/6', 4); ?>

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

ویرایش شده توسط M.Javad
لینک به ارسال

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


<h2><?php _e( 'Recent news from Some-Other Blog:', 'my-text-domain' ); ?></h2>
<?php // Get RSS Feed(s)
include_once( ABSPATH . WPINC . '/feed.php' );
// Get a SimplePie feed object from the specified feed source.
$rss = fetch_feed( 'http://example.com/rss/feed/goes/here' );
if ( ! is_wp_error( $rss ) ) : // Checks that the object is created correctly
// Figure out how many total items there are, but limit it to 5.
$maxitems = $rss->get_item_quantity( 5 );
// Build an array of all the items, starting with element 0 (first element).
$rss_items = $rss->get_items( 0, $maxitems );
endif;
?>
<ul>
<?php if ( $maxitems == 0 ) : ?>
<li><?php _e( 'No items', 'my-text-domain' ); ?></li>
<?php else : ?>
<?php // Loop through each feed item and display each item as a hyperlink. ?>
<?php foreach ( $rss_items as $item ) : ?>
<li>
<a href="frame.php?u=<?php echo esc_url( $item->get_permalink() ); ?>"
title="<?php printf( __( 'Posted %s', 'my-text-domain' ), $item->get_date('j F Y | g:i a') ); ?>">
<?php echo esc_html( $item->get_title() ); ?>
</a>
</li>
<?php endforeach; ?>
<?php endif; ?>
</ul>

و کد frame.php


<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Untitled 12</title>
</head>
<?php if(isset($_GET['u'])) {
$u = $_GET['u'];
}
else {
wp_redirect(home_url());
}
?>
<frameset rows="64,*">
<frame name="header" noresize="noresize" scrolling="no">
<frame name="main" src="<?php echo $u;?>">
<noframes>
<body>
<p>This page uses frames, but your browser doesn't support them.</p>
</body>
</noframes>
</frameset>
</html>

[sharedmedia=tutorials:tutorials:300]

لینک به ارسال

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

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

جزئیات بیشتر در:

http://www.home.bourstahlil.ir/frame.php?u=http://www.talanews.com/fa/%D9%87%D9%85%D8%B2%D9%85%D8%A7%D9%86-%D8%A8%D8%A7-%D8%B1%D9%88%D8%B2-%D8%B9%D8%B5%D8%A7%D9%8A-%D8%B3%D9%81%D9%8A%D8%AF-%D8%A7%D8%B2-%D9%87%D9%85%DA%A9%D8%A7%D8%B1-%D8%B1%D9%88%D8%B4%D9%86%D8%AF%D9%84-%D8%A8%D8%A7%D9%86%DA%A9-%D8%A7%D9%82%D8%AA%D8%B5%D8%A7%D8%AF%D9%86%D9%88%D9%8A%D9%86-%D9%82%D8%AF%D8%B1%D8%AF%D8%A7%D9%86%D9%8A-%D8%B4%D8%AF-29437.html

لینک به ارسال

قرار دادم دیگه

منظور شما توی روت هاست هستش یا توی فولدر قالب؟!

چون من توی فولدر خود قالب قرار دادم

مشکل از اون نیست :|

لینک به ارسال

اگر داخل پوشه قالب بگذارید نشانیش می شه


<?php bloginfo('template_directory');?>/frame.php

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

لینک به ارسال

اگه منظورتون این کده


<a href="<?php bloginfo('template_directory');?>/frame.php
?u=<?php echo esc_url( $item->get_permalink() ); ?>"

که عرض کنم کلا اررور داد :)

فکر نکنم مشکل ز آدرس دهی باشه من داخل فولدر قالب گذاشتم فقط پیامی که میده انگار باید برگه ساخته بشه براش!!!

لینک به ارسال

این کدیه که من قرار دادم داخل سایت


<?php // Get RSS Feed(s)
include_once( ABSPATH . WPINC . 'frame.php' );
// Get a SimplePie feed object from the specified feed source.
$rss = fetch_feed( 'http://www.talanews.com/fa/component/option,com_ninjarsssyndicator/feed_id,1/format,raw/lang,fa/' );
if ( ! is_wp_error( $rss ) ) : // Checks that the object is created correctly
// Figure out how many total items there are, but limit it to 5.
$maxitems = $rss->get_item_quantity( 4 );
// Build an array of all the items, starting with element 0 (first element).
$rss_items = $rss->get_items( 0, $maxitems );
endif;
?>
<?php if ( $maxitems == 0 ) : ?>
<li><?php _e( 'No items', 'my-text-domain' ); ?></li>
<?php else : ?>
<?php // Loop through each feed item and display each item as a hyperlink. ?>
<?php foreach ( $rss_items as $item ) : ?>
<li>
<a href="frame.php?u=<?php echo esc_url( $item->get_permalink() ); ?>"
title="<?php printf( __( 'Posted %s', 'my-text-domain' ), $item->get_date('j F Y | g:i a') ); ?>">
<?php echo esc_html( $item->get_title() ); ?>
</a>
</li>
<?php endforeach; ?>
<?php endif; ?>

ولی وقتی روی یه لینک خبر کلیک میکنم این صفحه میاد

http://www.home.bourstahlil.ir/frame.php?u=http://www.talanews.com/fa/%D8%AD%D8%B1%DA%A9%D8%AA-%D8%A8%D8%A7%D9%86%DA%A9-%D9%BE%D8%A7%D8%B1%D8%B3%DB%8C%D8%A7%D9%86-%D8%A8%D9%87-%D8%B3%D9%85%D8%AA-%DA%A9%D8%A7%D9%87%D8%B4-%D9%85%D8%B7%D8%A7%D9%84%D8%A8%D8%A7%D8%AA-%D9%85%D8%B9%D9%88%D9%82-29438.html

لینک به ارسال

این خیلی بد نیست که شما هم بخواهی مشکلت حل بشه و هم حاضر نشی یک صفحه آموزش را بخوانی؟

بهتر بود لینکی که گذاشته بودم را باز می کردید و یکبار از اول تا آخرش را مطالعه می کردید


<a href="<?php bloginfo('template_directory');?>/frame.php?u=<?php echo esc_url( $item->get_permalink() ); ?>"

لینک به ارسال

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

الان این چیزی که شما گفتید رو مجددا گذاشتم ولی در صفحه frame.php این خطا رو میده

Fatal error: Call to undefined function get_header() in /home/boursamo/bourstahlil.ir/home/wp-content/themes/Silver/frame.php on line 10

اینم خطای لاین 10


<?php
/**
* Theme: silverOrchid
* Theme URL: http://gazpo.com/2012/04/silverorchid
* Created: April 2012
* Author: Sami Ch.
* URL: http://gazpo.com
*
**/
get_header();
?>

لینک به ارسال

شما چرا اینقدر پیچیدش می کنی دوست عزیز

تابع

[/size]
get_header();

توی کدوم آموزش گفته شده که استفاده بشه

فایل frame.php رذا از پوشه قالب به روت سایت منتقل کنید و کدها را به شکل اول برگردونید و استفاده کنید

لینک به ارسال

شما چرا اینقدر پیچیدش می کنی دوست عزیز

تابع

[/size]
get_header();

توی کدوم آموزش گفته شده که استفاده بشه

فایل frame.php رذا از پوشه قالب به روت سایت منتقل کنید و کدها را به شکل اول برگردونید و استفاده کنید

ممنون درست شد ولی آخه من چون میخواستم قالبش از قالب سایت پیروی کنه گفتم تابع get_header رو بزارم تا حداقل بالای صفحه که خالیه هدر سایت اصلی رو نشون بده

به نظرتون نمیشه همچین کاری کرد؟!

لینک به ارسال

فقط برای سوال آخر قسمتی که لینک های سایت مورد نظر رو نمایش میده چند خط خطا هم در کنارش داره که من هرکاری کردم برطرف نشد لطفا یه بررسی بکنید ممنون میشم


Warning: include_once() [function.include-once]: Unable to access /home/boursamo/bourstahlil.ir/home/wp-includesframe.php in /home/boursamo/bourstahlil.ir/home/wp-content/themes/Silver/rightbar2.php on line 28 Warning: include_once(/home/boursamo/bourstahlil.ir/home/wp-includesframe.php) [function.include-once]: failed to open stream: No such file or directory in /home/boursamo/bourstahlil.ir/home/wp-content/themes/Silver/rightbar2.php on line 28 Warning: include_once() [function.include]: Failed opening '/home/boursamo/bourstahlil.ir/home/wp-includesframe.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/boursamo/bourstahlil.ir/home/wp-content/themes/Silver/rightbar2.php on line 28

اینم کد خط 28


include_once( ABSPATH . WPINC . 'frame.php' );

لینک به ارسال

شما اگر مطابق آموزش جلو می رفتید این مشکلات را نداشتید

برای اینکه صفحه فریم از قالب سایت پیروی کنه راهش اینه که تمپلیت بسازید که کلا بحثش جداست

جنس این صفحه شما فریمه نه لازمه اینکلود بشه جایی نه چیزی توش اینکلود می شه

شما لوگو و احیانا منویی اگر دارید می تونید توی اون فایل html که برای سر صفحه ساختید بگذارید

اما اگر قصدتون نمایش در داخل قالب خود سایته باید از frame خارج بشید و iframe بسازید

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

لینک به ارسال
  • 2 سال بعد...
در در 10/18/2014 at 19:00، imanfakhar گفته است :

شما اگر مطابق آموزش جلو می رفتید این مشکلات را نداشتید

برای اینکه صفحه فریم از قالب سایت پیروی کنه راهش اینه که تمپلیت بسازید که کلا بحثش جداست

جنس این صفحه شما فریمه نه لازمه اینکلود بشه جایی نه چیزی توش اینکلود می شه

شما لوگو و احیانا منویی اگر دارید می تونید توی اون فایل html که برای سر صفحه ساختید بگذارید

اما اگر قصدتون نمایش در داخل قالب خود سایته باید از frame خارج بشید و iframe بسازید

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

سلام من یک سایت خبرخوان با همین روشی که شما گفتید ساختم و برای هر دسته بندی از سه فید استفاده کردم و تنها مشکلی که دارم اینه که بعد از هر 20 دقیقه رفرش فید ها سایت خیلی خیلی خیلی دیر لود میشه میخواستم شما یه نگاه به کدها بندازید ببینید آیا راهی هستش که کدها بهینه تر باشه تا انقدر دیر لود نشه سایت؟!

کد باکس مطالب فید

<article class="article">
						<div class="title">
							<div class="circle" style="background:<?php echo $color ?>;"></div>
							<h3><a><?php echo $name ?></a></h3>
							<div class="line" style="border:1px solid <?php echo $color ?>;"></div>
						</div>
						<?php // Get RSS Feed(s)
include_once( ABSPATH . WPINC . '/feed.php' );
// Get a SimplePie feed object from the specified feed source.
$rss = fetch_feed(array( ''.$link1.'',''.$link2.'',''.$link3.'' ));
if ( ! is_wp_error( $rss ) ) : // Checks that the object is created correctly
    // Figure out how many total items there are, but limit it to 5.
    $maxitems = $rss->get_item_quantity( 10 );
    // Build an array of all the items, starting with element 0 (first element).
    $rss_items = $rss->get_items( 0, $maxitems );
endif;
?>
						<ul>
							 <?php if ( $maxitems == 0 ) : ?>
							<li><?php _e( 'بدون مطلب', 'my-text-domain' ); ?></li>
								<?php else : ?>
								<?php // Loop through each feed item and display each item as a hyperlink. ?>
								<?php foreach ( $rss_items as $item ) : ?>
							<li>
								<h2><a href="frame.php?u=<?php echo esc_url( $item->get_permalink() ); ?>" target="_blank"> <?php echo $item->get_title(); ?></a></h2>
								<span style="display:<?php echo $display; ?>" class="tooltiptext hidden-xs"><?php echo esc_html( $item->get_description() ); ?></span>
							</li>
							 <?php endforeach; endif; ?>
						</ul>
					</article>

کد رفرش فید ها بعد از 20 دقیقه

add_filter( 'wp_feed_cache_transient_lifetime', 
   create_function('$a', 'return 1200;') );

آدرس سایت : http://akhbartop.ir/

ویرایش شده توسط M.Javad
لینک به ارسال

من سرچ هم زدم و از simplepie هم استفاده کردم ولی سرعت لود سایت هیچ فرقی نکرد

<?php
// Include the SimplePie library
// For 1.0-1.2:
#require_once('simplepie.inc');
// For 1.3+:
require_once('autoloader.php');


// Create a new SimplePie object
$feed = new SimplePie();

// Instead of only passing in one feed url, we'll pass in an array of three
$feed->set_feed_url(array(
    ''.$link1.'',
    ''.$link2.'',
    ''.$link3.''
));
 $feed->set_item_limit(3);
 $feed->set_cache_duration(300);
// Initialize the feed object
$feed->init();

// This will work if all of the feeds accept the same settings.
$feed->handle_content_type();
?>
                        <ul>
                            <?php foreach ($feed->get_items(0,9) as $item): ?>
                            <li>
                                <h2><a href="frame.php?u=<?php echo $item->get_permalink(); ?>" target="_blank"><?php echo $item->get_title(); ?></a></h2>
                                <span style="display:<?php echo $display; ?>" class="tooltiptext hidden-xs"><?php echo esc_html( $item->get_description() ); ?></span>
                            </li>
                                <?php endforeach; ?>
                        </ul> 

 

لینک به ارسال

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

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

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

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

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

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

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

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

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