
السلام عليكم ورحمة الله, بعدما تحدّثنا في الموضوع السابق عن الروابط الخارجية وكيف تتم الاستفادة منها حتى يبقى المتصفح داخل الموقع ولا يغادره, نرى اليوم بإذن الله كيفية توجيه الرابط الخارجي إلى صفحة داخل موقعنا قبل أن يتم تلقائيا توجيهه نحو الرابط بعد مدة زمنية نحددها نحن, إذن ما عليك سوى متابعة الموضوع السابق حتى تفهم تطبيق هذا الدرس:
https://benaceur-php.com/?p=2447
ثانيا حرر ملف php الذي أنشأناه وقلنا لايهم اسمه المهم أن يكون في رئيسية القالب هكذا:
wp-content/themes/YourTheme/YourFile.php
الآن امسح بداخله تماما واستبدله بالتالي:
الكود:
<?php
/*
Template Name: ben external links
*/
// by: https://benaceur-php.com
// get the redirection url from GET variable
$redirect_to = !empty($_GET['url'])
? trim(strip_tags(stripslashes($_GET['url'])))
: '';
$wait_time = 5 *1000; // time to wait before redirection occurs, in milliseconds
$wait_seconds = $wait_time / 1000;
add_action('wp_head', 'redirect_to_no_index', 99);
function redirect_to_no_index()
{
// this page should not be indexed at all
?>
<meta name="robots" content="noindex, follow">
<?php
}
add_action('wp_head', 'redirect_to_external_link');
function redirect_to_external_link()
{
global $redirect_to, $wait_seconds, $wait_time;
if (empty($redirect_to) || empty($wait_time)) {
return;
}
?>
<script>var redirect = window.setTimeout(function(){window.location.href='<?php esc_html_e($redirect_to); ?>'},<?php echo $wait_time; ?>);</script>
<noscript><meta http-equiv="refresh" content="<?php echo $wait_seconds; ?>;url=<?php esc_attr_e($redirect_to); ?>">></noscript>
<?php
}
get_header();
?>
<style>
#pageRedirect-content {
width:90%;
margin:0 auto;
padding: 20px;
margin-top:20px;
margin-bottom:300px;
}
#pageRedirect-content button {
cursor: pointer;
}
.pageRedirect-message {
font-size: 16px;
text-align:center;
line-height: 2;
}
</style>
<div id="pageRedirect-content">
<div class="pageRedirect-message">
<?php if (!empty($redirect_to)) {
printf(__('أنت على وشك مغادرة هذا الموقع, سيتم توجيهك تلقائيا نحو <strong>%s</strong> خلال %d ثواني.'),
esc_html($redirect_to), $wait_seconds);
} else {
_e('رابط غير صالح لإعادة التوجيه');
}
?>
</div>
</div>
<?php
get_footer();
ثالثا نقوم بتنصيب الإضافة التالية وهي قديمة التحديث لكنها تعمل بدون مشاكل:
https://wordpress.org/plugins/bwp-external-links/
بعد تفعليلها نتوجه إلى لوحة الإدارة ثم الإعدادات ثم Better WordPress Links ثم External link prefix ونختار A custol URL وندخل في الخانة تحت مباشرة الرابط التالي مع تغيير كلمة localhost بعنوان موقعك:
http://localhost/redextlinks/?url=
ثم نضع علامة صح بجانب هذين: Add the attribute ونختار بجانب Open external links هذه in the same tab/windows ونحفظ الإعدادات.
————–
أما إذا أردنا أن نعطي للزائر الحرية في المتابعة في فتح الرابط أو العودة نستبدل التالي:
<div id="pageRedirect-content">
<div class="pageRedirect-message">
<?php if (!empty($redirect_to)) {
printf(__('أنت على وشك مغادرة هذا الموقع, سيتم توجيهك تلقائيا نحو <strong>%s</strong> خلال %d ثواني.'),
esc_html($redirect_to), $wait_seconds);
} else {
_e('رابط غير صالح لإعادة التوجيه');
}
?>
</div>
</div>
بهذا:
<div id="pageRedirect-content">
<div class="pageRedirect-message">
<?php if (!empty($redirect_to)) {
_e('أنت على وشك مغادرة الموقع نحو الرابط الخارجي, '
. 'رجاء قم بتأكيد العملية أو عد إلى الصفحة السابقة.'); ?>
<br />
<button onclick="window.location.href='<?php esc_html_e($redirect_to); ?>';return false;"><?php _e('تأكيد'); ?></button>
<button onclick="history.go(-1); return false;"><?php _e('العودة إلى الخلف'); ?></button>
<?php } else {
_e('رابط غير صالح لإعادة التوجيه');
}
?>
</div>
</div>
ونغير القيمة بجانب $wait_time من 5 إلى 0
انتهى …
رابط الموضوع للنسخ
طبعا من افضل الشروحات التي مرت علي طبقتها وقد نجحت العملية
الان اخي بن ناصر بعد نجاح العملية وعملها بكل كفاءة بفضل شرحك الرائع
لو اردنا اضافة اعلانين ل ادسنس فوق الرابط
واسفله داحل صفحة اعادة التوجيه
كيف يتم ذلك
يكفي أن تضع الإعلانين هكذا:
السلام عليكم
اخي بن ناصر لو اردنا اضافة هذه الطريقة
مع الطريقة السابقة جنبا الى جنب هل يمكن ذلك؟؟
كيف جنبا إلى جنب أي مع بعضهما, وكيف يكون ذلك؟ لا أنصحك بذلك فالطريقة غير سليمة
الأفضل أن تختار واحدة
اشكرك على سرعة الرد
اقصد صفحتين واحدةمثلا نسميها تحميل
والأخرى معاينة
يعني أنت تقصد أن رابط التحميل ينقلك إلى صفحة التحميل ورابط المعاينة ينقلك إلى صفحة المعاينة, في هذه الحالة يمكنك استعمال الطريقة الأولى فقط لأن الطريقة الأولى يديوية أي أنك كلما وضعت رابطا فأنت من يحدد إن كان الرابط رابط تحميل أم معاينة ولذلك إذا أردت صفحتان واحدة للتحميل وأخرى للمعاينة لا بد أن تستعمل الطريقة الأولى فقط لأن الطريقة الثانية تلقائيا يتم توجيه الروابط الخارجية كلها سواء كانت روابط تحميل أو معاينة
وبهذا نستنتج أنه لا يمكن استعمال الطريقتين مع بعض.
أظن أنه واضح …
لاحظت ذلك
لكن سالت ربما يكون هناك حل او فكرة ما لديك
اخي بن ناصر
بخصوص الكود الثاني
كيف يمكن التخلص من زر
العودة او الرجوع وذلك لانه
انا استخدم فتح الروابط في نافذة جديدة وليس نفس النافذة
فقط احذف هذا السطر:
الأخ aljwaal
بالنسبة لردك هذا:
http://benaceur-php.com/?p=2471/#comment-1144
تابع هذا الرد ربما يفيدك:
http://benaceur-php.com/?p=2447/#comment-1170
اشكرك على المتابعة الرائعة والحلول الاروع
بصراحة صرت اخجل اطلب شيء
السلام عليكم اخي بن ناصر
لو اردنا وضع الاعلانات بالمنتصف
اعلى الرابط
واسفل الرابط
مثلا ثلاث اعلانات بشكل منظم
كيف يمكن ذلك
مثلا انا اضفت الاعلانات الا انها لا تظهر
بالمنتصف وبعيدة جدا عن مربع الرابط
كيف يمكن عملها كصفحة
سكربتات اختصار الروابط
بحيث يكون الاعلان
فوق الازرار مباشرة بالمنتصف
وتحته مباشرة بالمنتصف
http://aljwaal.com/redextlinks/?url=http%3A%2F%2Fcut-win.com%2Fref%2FAboRuSLaN
مثل هذه الصورة
http://aljwaal.com/photo_2017-08-24_17-14-55/
http://aljwaal.com/photo_2017-08-24_17-15-26/
وعليكم السلام
فقط حرر الملف الذي قمت بإنشائه في رئيسية قالبك وضع الإعلانات
أرجوا أن أكون قد فهمت سؤالك!!!
وضعت الإعلانات
لكن اريد الإعلان ان يكون ثابت في مكان معين
الإعلانات لا تظهر يشل منظم
شكلها غير متناسق
اريدها في منتصف الصفحه
وليس ع اليمين وفي أسفل أسفل الصفحه
أرسل لي الملف على الخاص
تم الارسال اخي
شكرا اخي الكريم
بارك الله فيك جاري التجربة
بارك الله فيك اخي العزيز
سلمت يمناك ابدعت
بخصوص الوحدة
الاعلانية التي في الاعلى
كيف
يمكن توسيطها بغض النظر عن حجمها
والله أنا لما جربت على السيرفر المحلي أصلا الإعلان الأعلى لم يظهر لي, أنا فقط استبدلته بجملة أو بسطر فظهر في الوسط
أنا جعلت كل المحتوى داخل هذا الإيدي pageRedirect-content ثم أعطيته الإعدادات التالية وهي المسؤولة عن جعل المحتوى في الوسط:
فجرب أن تضع أي سطر أو جملة ما مكان الإعلان الأول
ما زالت تظهر في الجانب الايمن
كتبت كلمة صفحة التحميل
ارسلت الملف مرة ثانية على الخاص
الاخ بن ناصر
ما شاء الله عنه متواجد بشكل دائم
يقدم خدمات رائعة باحترافية
سلمت يمناك
كلمة شكر قليلة عليك
اصلح لي المنظر والشكل
شكرا لك