باز کردن لینک های ابزارک RSS وردپرس در پنجره جدیدReviewed by SMZ on Apr 6Rating: 3.5باز کردن لینک های ابزارک RSS وردپرس در پنجره جدیدابزارک RSS وردپرس یکی از ابزارک های پیشفرضی است که بدون وابستگی به افزونه ها یا قالبی که در سایت خود استفاده میکنید، همیشه در وردپرس حضور دارد. این ابزارک، ابزارکی بسیار کاربردی است که عموم افراد به سادگی از روی آن میگذرند و شاید هرگز از آن در سایت خود استفاده نکنند. ما تا امروز در سایت های مختلفی و به شکل های مختلف، این ابزارک جالب را مورد استفاده قرار داده ایم. شما هم اگر تا امروز با این ابزارک سر و کار نداشته اید، شاید با آشنا شدن با این ابزارک، بتوانید کاربردهای مناسبی در سایتتان برای آن پیدا کنید. در آموزش کوتاه امروز، قصد داریم نحوه رفتار این ابزارک را تغییر داده و کاری کنیم که لینک های درج شده در آن، به طور اتوماتیک در تب جدیدی برای کاربر به نمایش در بیایند.

ابزارک RSS وردپرس یکی از ابزارک های پیشفرضی است که بدون وابستگی به افزونه ها یا قالبی که در سایت خود استفاده میکنید، همیشه در وردپرس حضور دارد. این ابزارک، ابزارکی بسیار کاربردی است که عموم افراد به سادگی از روی آن میگذرند و شاید هرگز از آن در سایت خود استفاده نکنند. ما تا امروز در سایت های مختلفی و به شکل های مختلف، این ابزارک جالب را مورد استفاده قرار داده ایم. شما هم اگر تا امروز با این ابزارک سر و کار نداشته اید، شاید با آشنا شدن با این ابزارک، بتوانید کاربردهای مناسبی در سایتتان برای آن پیدا کنید. در آموزش کوتاه امروز، قصد داریم نحوه رفتار این ابزارک را تغییر داده و کاری کنیم که لینک های درج شده در آن، به طور اتوماتیک در تب جدیدی برای کاربر به نمایش در بیایند.

 

603930_weblink_512x512

ابزارک RSS وردپرس چیست و چه کاری انجام میدهد؟

هرچند احتمالا خودتان با کاربرد این ابزارک آشنایی دارید ولی برای آن دسته از افراد که با کاربرد ابزارک RSS وردپرس آشنا نبوده و تا امروز از آن استفاده نکرده اند، به طور خلاصه اینطور بگوییم که این ابزارک یک آدرس فید از شما دریافت میکند و آخرین آیتم های منتشر شده در آن فید را در قالب یک لیست مختصر و مفید در محل انتخابی شما به نمایش میگذارد. مثلا فرض کنید که مایلید آخرین ارسالهای وبسایت مورد علاقه تان را در سایدبار سایتتان در اختیار کاربران قرار دهید، کافی است ابزارک RSS را به سایدبار خود اضافه کرده و آدرس فید سایت مورد علاقه تان را به آن اضافه کنید. خواهید دید که آخرین آیتم های ارسالی سایت مورد نظر، در سایدبارتان به نمایش در خواهند آمد. خوب، حالا که همه با کاربرد این ابزارک آشنایی پیدا کردیم، به سراغ اصل ماجرای این آموزش برویم.

باز کردن لینک های ابزارک RSS در تب جدید

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

برای تغییر این رفتار و باز کردن لینک های ابزارک فید وردپرس در پنجره جدید، کافی است کد زیر را به افزونه site specific خود یا فایل functions.php قالبتان اضافه کنید:

 

/* Open RSS Widget Links in new window */
add_action('wp_footer' , 'mrcode_rss_widget_links_new_tab');
function mrcode_rss_widget_links_new_tab() {
    ?>
    <script type="text/javascript">
        jQuery(document).ready(function () {
            ! function ($) {
                //prevents js conflicts
                "use strict";
                var extLinksStyle = true; /* set this to false to not display the external icon */
                $('a' , '.widget.widget_rss').each( function() {
                    if ( extLinksStyle && $(this).children('img').length == 0 )
                        $(this).after('<span class="tc-external">');
                    $(this).attr('target' , '_blank');
                });
            }(window.jQuery)
        });
    </script>
    <?php
}

 

پس از ذخیره کد بالا، حالا اگر سایتتان را مجددا بارگذاری کنید، خواهید دید که همه لینک های درج شده در ابزارک rss دارای صفت target=”_blank” بوده و در تب جدیدی در مرورگر به نمایش در خواهند آمد.

کد بالا نیاز به توضیح خاصی ندارد. اما در خط دهم این کد متغیری تعریف کرده ایم که در صورت true بودن آن، یک تگ span با کلاس tc-external به لینک های شما اضافه میشود که میتوانید از آن برای نمایش آیکن نشانگر خروجی بودن لینک (هدایت به سایت دیگر و باز شدن در پنجره جدید) استفاده کنید. بنابراین اگر مایل نیستید این کار را انجام دهید، کافی است به سادگی مقدار این متغیر را برابر false قرار دهید.

و در آخر …

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

۱ – وقتی لینکی را از سایت خود، در تب جدید باز میکنید، جلوگیری از tabnapping / tabnabbing فراموش نشود. (tabnapping / tabnabbing چیست؟) اگر از افزونه iThemes Security استفاده میکنید، با مراجعه به بخش WordPress Tweaks و فعال کردن تنظیم Protect Against Tabnapping میتوانید سایت خود را در برابر این نوع حمله ایمن کنید.

۲ – بحثی وجود دارد که در آن یک عده میگویند، باز کردن لینک در تب/پنجره جدید کار خوبی نیست. یعنی اگر کاربر مایل باشد لینکی را در پنجره ای جدید باز کند، خودش با میل خودش این کار را انجام خواهد داد. گرچه من به طور کلی با اصل این ایده موافق هستم، ولی در مورد لینک هایی که به سایت های دیگر (لینک های خروجی) اشاره میکنند، عقیده دیگری دارم.

۳ – این را همیشه میگوییم ولی باز یک عده فراموش میکنند انجامش بدهند. اگر شما کد اشتباهی در افزونه site specific خود قرار دهید، احتمالا بدترین اتفاقی که می افتد، غیر فعال شدن افزونه است ولی این مسئله در مورد فایل funtions.php سایت شما صادق نیست. پس همیشه و قبل از اعمال هر نوع تغییر، از سایت خود بکاپ کامل تهیه کنید.