• اطلاعیه ها

    • Morteza

      باهم بسازیم: اطلس ووکامرس و وردپرس   14/07/96

      تاپیک ایجاد شده برای بحث در جهت ایجاد یک منبع، ویکی، صفحات توضیحی و یا بخش آموزشی جامع برای وردپرس و متعلقات مختلف آن است. لطفا جهت مشارکت در این بحث، ارائه پیشنهاد و یا انتقاد به تاپیک فوق مراجعه کنید. باهم بسازیم: اطلس ووکامرس و وردپرس
buzz

تابع بازشدن حودکار لینک ها در iframe

6 پست در این موضوع قرار دارد

سلام

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

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

لینک تابع


<?php
//Automatically replace content of wordpress posts/page
if (function_exists('add_filter')) {
add_filter('the_content', 'frame_external_links');
}
//test datas
$content = '
<a href="#">fedmich</a>
<a href="https://google.com">federico</a>
<a href="http://google.com">google</a>
<a href="subfolder">subfolder</a>
<a href="/absolute">absolute</a>
<a href="../">relative</a>
';
$contentx = frame_external_links($content);
//Sample output
echo 'before';
var_dump(trim($content));
echo '<hr />';
echo 'after';
var_dump(trim($contentx));
echo '<hr />';
echo '<b>actual</b>';
echo '<br />';
echo $contentx;
function frame_external_links($content) {
$top_frame = 'http://anonymouse.org/cgi-bin/anon-www.cgi/';
$pat = '@<a .*href="(.*)"@isU';
preg_match_all($pat, $content, $m_links);
if (!$m_links) {
//no links found, just return original content
return $content;
}
$contentx = $content;
foreach ($m_links[1] as $mctr => $link) {
$process_this = 0;
switch ($link) {
case '#':
case '':
$process_this = 0;
break;
default:
//check if the link starts with the following patterns
if (substr($link, 0, 1) == '/') {
$process_this = 0;
} else if (stristr($link, 'https://')) {
$process_this = 1;
} else if (stristr($link, 'http://')) {
$process_this = 1;
}
}
if (!$process_this) {
//Check next link
continue;
}
$prev_link = $m_links[0][$mctr];
$new_link = $top_frame . $link;
$new_link .= '" target="_blank';
$replaced = str_replace($link, $new_link, $prev_link);
$contentx = str_replace($prev_link, $replaced, $contentx);
}
return $contentx;
}

0

به اشتراک گذاری این پست


لینک به پست

مشکلاتتون رو مطرح کنید

نیازی به پیام خصوصی نیست

[sharedmedia=tutorials:tutorials:300]

2

به اشتراک گذاری این پست


لینک به پست

سلام جناب استاد

اول تشکر می کنم بابت آموزش.چند وقتی بود دنبال این کد می گشتم.اما چند مورد مبهم در آموزش بود

فرموده بودید

خوب فرض می کنیم برگه اول را با نام news.php ذخیره کردید یک زمینه دلخواه برای مطالب خبری تهیه می کنید که آدرس منبع را در آن قرار دهید (توضیح افزونه feedwordpress این زمینه را با نام syndication_permalink ایجاد می کند )

این مطلب رامی تونید روشن تر توضیح بدید؟

آیا باید فایل news.php و header.html به پوشه پوسته منتقل بشه؟

مسئله بعدی اینکه

در کد news.php عبارت


<script type="text/javascript">
<!--
window.location="آدرس سایت شما "
//-->
</script>

آدرس سایت باید صرفا آدرس سایت مادر باشه یا اینکه آدرس کد single.php منظور هست؟

در صورتیکه بخواهیم به header.html کد های وردپرس سایت مادر را وارد کنیم راهکار شما چیه؟

پیشاپیش از زحمات شما تشکر می کنم استاد عزیز

0

به اشتراک گذاری این پست


لینک به پست

فایلها را در پوشه پوسته قرار دهید

آدرس برای زمانی هست که مقدار u مقداردهی نشده باشد .

آدرس صفحه اصلی را قرار دهید

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

نحوه استفاده از توابع وردپرس در فایل جدا

1

به اشتراک گذاری این پست


لینک به پست

ممنون پارسای عزیز

البته با تمام لطف شما هنوز قضیه برای من مبهمه

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

بگذارید از اول براتون توضیح بدم

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

تابعی که باید در کد جاسازی بشه چیه؟

اصلاٌ صفحه news.php چجوری باید فراخونده بشه؟

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

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

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

0

به اشتراک گذاری این پست


لینک به پست

1- بله. شما باید لینک مطلب را ویرایش کنید و آدرس فایل مربوط در آموزش را ابتدا قرار دهید. بستگی به شیوه طراحی شما دارد

2- برای چه کاری؟

3- صفحه news:


<a href="<?php bloginfo('template_url'); ?>/news.php?u=http://google.com

4- زمینه‌ای به نام news_permalink و با مقدار آدرس مورد نظر

1

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری