
السلام عليكم ورحمة الله, بعدما تحدّثنا في الموضوع السابق عن الروابط الخارجية وكيف تتم الاستفادة منها حتى يبقى المتصفح داخل الموقع ولا يغادره, نرى اليوم بإذن الله كيفية توجيه الرابط الخارجي إلى صفحة داخل موقعنا قبل أن يتم تلقائيا توجيهه نحو الرابط بعد مدة زمنية نحددها نحن, إذن ما عليك سوى متابعة الموضوع السابق حتى تفهم تطبيق هذا الدرس:
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
انتهى …
رابط الموضوع للنسخ
الاخ بن ناصر
ما شاء الله عنه متواجد بشكل دائم
يقدم خدمات رائعة باحترافية
سلمت يمناك
كلمة شكر قليلة عليك
اصلح لي المنظر والشكل
شكرا لك
ما زالت تظهر في الجانب الايمن
كتبت كلمة صفحة التحميل
ارسلت الملف مرة ثانية على الخاص
والله أنا لما جربت على السيرفر المحلي أصلا الإعلان الأعلى لم يظهر لي, أنا فقط استبدلته بجملة أو بسطر فظهر في الوسط
أنا جعلت كل المحتوى داخل هذا الإيدي pageRedirect-content ثم أعطيته الإعدادات التالية وهي المسؤولة عن جعل المحتوى في الوسط:
فجرب أن تضع أي سطر أو جملة ما مكان الإعلان الأول
بارك الله فيك اخي العزيز
سلمت يمناك ابدعت
بخصوص الوحدة
الاعلانية التي في الاعلى
كيف
يمكن توسيطها بغض النظر عن حجمها
شكرا اخي الكريم
بارك الله فيك جاري التجربة
تم الارسال اخي
أرسل لي الملف على الخاص
وضعت الإعلانات
لكن اريد الإعلان ان يكون ثابت في مكان معين
الإعلانات لا تظهر يشل منظم
شكلها غير متناسق
اريدها في منتصف الصفحه
وليس ع اليمين وفي أسفل أسفل الصفحه
وعليكم السلام
فقط حرر الملف الذي قمت بإنشائه في رئيسية قالبك وضع الإعلانات
أرجوا أن أكون قد فهمت سؤالك!!!
السلام عليكم اخي بن ناصر
لو اردنا وضع الاعلانات بالمنتصف
اعلى الرابط
واسفل الرابط
مثلا ثلاث اعلانات بشكل منظم
كيف يمكن ذلك
مثلا انا اضفت الاعلانات الا انها لا تظهر
بالمنتصف وبعيدة جدا عن مربع الرابط
كيف يمكن عملها كصفحة
سكربتات اختصار الروابط
بحيث يكون الاعلان
فوق الازرار مباشرة بالمنتصف
وتحته مباشرة بالمنتصف
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/
اشكرك على المتابعة الرائعة والحلول الاروع
بصراحة صرت اخجل اطلب شيء
الأخ aljwaal
بالنسبة لردك هذا:
http://benaceur-php.com/?p=2471/#comment-1144
تابع هذا الرد ربما يفيدك:
http://benaceur-php.com/?p=2447/#comment-1170
فقط احذف هذا السطر:
اخي بن ناصر
بخصوص الكود الثاني
كيف يمكن التخلص من زر
العودة او الرجوع وذلك لانه
انا استخدم فتح الروابط في نافذة جديدة وليس نفس النافذة
لاحظت ذلك
لكن سالت ربما يكون هناك حل او فكرة ما لديك
يعني أنت تقصد أن رابط التحميل ينقلك إلى صفحة التحميل ورابط المعاينة ينقلك إلى صفحة المعاينة, في هذه الحالة يمكنك استعمال الطريقة الأولى فقط لأن الطريقة الأولى يديوية أي أنك كلما وضعت رابطا فأنت من يحدد إن كان الرابط رابط تحميل أم معاينة ولذلك إذا أردت صفحتان واحدة للتحميل وأخرى للمعاينة لا بد أن تستعمل الطريقة الأولى فقط لأن الطريقة الثانية تلقائيا يتم توجيه الروابط الخارجية كلها سواء كانت روابط تحميل أو معاينة
وبهذا نستنتج أنه لا يمكن استعمال الطريقتين مع بعض.
أظن أنه واضح …
اشكرك على سرعة الرد
اقصد صفحتين واحدةمثلا نسميها تحميل
والأخرى معاينة
كيف جنبا إلى جنب أي مع بعضهما, وكيف يكون ذلك؟ لا أنصحك بذلك فالطريقة غير سليمة
الأفضل أن تختار واحدة
السلام عليكم
اخي بن ناصر لو اردنا اضافة هذه الطريقة
مع الطريقة السابقة جنبا الى جنب هل يمكن ذلك؟؟
يكفي أن تضع الإعلانين هكذا:
الان اخي بن ناصر بعد نجاح العملية وعملها بكل كفاءة بفضل شرحك الرائع
لو اردنا اضافة اعلانين ل ادسنس فوق الرابط
واسفله داحل صفحة اعادة التوجيه
كيف يتم ذلك
طبعا من افضل الشروحات التي مرت علي طبقتها وقد نجحت العملية