تماس با پشتیبانی

09370650982

support@slivertheme.ir

بهینه سازی قالب های وردپرسی

شاید تابحال شده به فکر بهینه سازی قالب سایتتون بوده باشید؛ همانطور که می دانید یکی از ویژگی های وردپرس ، استفاده آسان و سازگاری آن برای کارهای مختلف است. به همین دلیل ما در این مقاله به شما روش بهینه سازی قالبتان را به شما می آموزیم اما شما نهایی کاری که باید انجام دهید این است که فایل functions.php قالب خود را بازکرده و کدهای زیر را به آن اضافه کنید.

 

نمایش تصاویر بندانگشتی در فید سایت

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

وردپرس به صورت پیشفرض تصاویر بندانگشتی را در فید سایت نمایش نمی دهد.

برای نمایش تصاویر بندانگشتی در فید سایت از کد زیر استفاده کنید:

add_filter('the_content_feed', 'ninsoft_rss_post_thumbnail');
function ninsoft_rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID))
  $content = '

' . get_the_post_thumbnail($post->ID, 'thumbnail') . '

' . $content;
  return $content;
}

حذف کردن نوار مدیریت یا Admin Bar برای کاربران به غیر از مدیر سایت

بهتر است که نوار مدیریت را برای کاربران عادی سایت غیرفعال کنید.

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

add_action('after_setup_theme', 'ninsoft_remove_admin_bar');
function ninsoft_remove_admin_bar() {
if (!current_user_can('administrator') && !is_admin()) {
  show_admin_bar(false);
}
}

محدود کردن تعداد کلمات خلاصه متن یا Excerpt

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

برای اینکه بتوانید تعداد کلمات خلاصه هر مطلب را محدود کنید باید از کد زیر استفاده کنید:

add_filter('excerpt_length', 'ninsoft_excerpt_length');
function ninsoft_excerpt_length( $length ){
  return ۱۰;
}

در اینجا ما از تابع add_filter استفاده کردیم و بعد با تعریف یک تابع دیگر به نام ninsoft_excerpt_length ، مقدار برگشتی آن را ۱۰ گذاشتیم ، یعنی ۱۰ کلمه نمایش داده شود.

حذف کردن عناصر اضافی از Header

وردپرس به صورت خودکار تگ هایی به قسمت head صفحات شما اضافه می کند که کارآمد نیستند و بهتر است که آن ها را حذف کنید.

مثلا وردپرس متا تگی به نام generator به قسمت head صفحات شما اضافه می کند که نشانگر نسخه وردپرس شما است. این خوب نیست که کاربران نسخه وردپرس شما را بتوانند ببینند. فراموش نکنید که همیشه وردپرس خود را بروز نگه دارید.

وردپرس تگ دیگری نیز به نام XML-RPC ایجاد می کند.

XML-RPC چیست ؟

XML-RPC یک پروتکل فراخوانی دستورها از راه دور است. این پروتکل تا قبل از نسخه ۳.۵ وردپرس به دلیل مسائل امنیتی غیرفعال بود ولی در نسخه ۳.۵ وردپرس این پروتکل را به صورت پیشفرض فعال کرد و امکان غیرفعال سازی آن را از پنل مدیریت حذف کرد. اگر بخواهیم ساده تر این پروتکل را توضیح دهیم ، با استفاده از این پروتکل شما می توانید از طریق نرم افزارهای وبلاگ نویسی مثل Windows Live Writer در وردپرس مطلب منتشر کنید.

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

تگ هایی که وردپرس به صورت پیشفرض تولید می کند:

<meta name="generator" content="WordPress 4.2.4">
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://example.com/xmlrpc.php?rsd">
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://example.com/wp-includes/wlwmanifest.xml">

برای اینکه تگ های بالا را از صفحات خود حذف کنید باید کدهای زیر در فایل functions.php خود اضافه کنید:

add_filter('the_generator', create_function('', 'return "";'));
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');

با این کار تمامی تگ های اضافی که وردپرس به صورت پیشفرض می سازد از صفحات شما حذف می شوند و کاربران نمی توانند آن ها را مشاهده کنند.

برای این که بتوانید به صورت کامل XML-RPC را غیرفعال کنید از کد زیر استفاده کنید:

add_filter('xmlrpc_enabled', '__return_false');

تغییر لوگو صفحه ورود به لوگو خودتان

برای این که بتوانیم لوگوی خودمان را به جای لوگوی وردپرس در صفحه ورود جایگزین کنیم باید از هوک login_head استفاده کنیم. تمام توابعی که در صفحه ورود و در قسمت head صفحه قرار دارند به این هوک متصل هستند.

add_action('login_head', 'ninsoft_custom_login');
function ninsoft_custom_login() {
echo '
<style type="text/css">
h1 a {background-image:url('. get_stylesheet_directory_uri() . '/images/login-logo.png' . ') !important; margin-bottom: 10px;
padding: 20px;}
</style>

';
}

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

در بعضی مواقع شما باید محتوای سایت را فقط به کاربران وارد شده در سایت نمایش دهید. در اینجا ما یک shortcode جدید ایجاد می کنیم و این shortcode ، مطالب را برای کاربران وارد شده در سایت نمایش می دهد و اگر کاربری در سایت وارد نشده بود پیام “لطفا برای مشاهده محتوا وارد سایت شوید” برای او نمایش داده می شود.

add_shortcode('loggedin', 'ninsoft_loggedin');
function ninsoft_loggedin($atts, $content = null) {
if(is_user_logged_in()) return '

' . $content . '

';
else return 'لطفا برای مشاهده محتوا وارد سایت شوید';
}

نمایش محتوا فقط به مشترکان RSS

برای این که مشترکان فید آر اس اس سایتتان را افزایش دهید باید برای آن ها امکانات ویژه ای را در نظر بگیرید.

در اینجا ما یک shortcode جدید ایجاد می کنیم و این shortcode ، مطالب را برای کاربران عادی مخفی کرده ولی برای مشترکان فید آر اس اس نمایش می دهد.

add_shortcode('feedonly', 'ninsoft_feedonly');
function ninsoft_feedonly($atts, $content = null) {
if(is_feed()) return '

' . $content . '

';
else return;
}

افزودن Favicon با استفاده از یک هوک وردپرس

هوک ها یا قلاب ها به شما اجازه می دهند که که یک کد دلخواه را بدون تغییر فایل ها (کدها) پیشفرض وردپرس به آن اضافه کنید. این کار باعث انعطاف پذیری هرچه بیشتر وردپرس می شود. حالا شما زمانی که نیاز به تغییر چیزی داشتید فقط کافی است که یک هوک و تابع دلخواه خود را ایجاد کنید. به عنوان مثال وقتی که شما می خواهید یک Favicon به سایت خود اضافه کنید ، لازم نیست که به فایل header.php بروید ، فقط کافیست از هوک wp_head در تابع add_action استفاده کنید.

فایل favicon.ico حتما باید در روت سایت شما باشد.

add_action( 'wp_head', 'ninsoft_favicon');
function ninsoft_favicon(){
  echo '<link rel="shortcut icon" href="http://slivertheme.ir/favicon.ico" type="image/x-icon">';
}

شناسایی مرورگر Safari در IOS

امروزه وبسایت ها برای انواع مختلفی از دستگاه ها یا موبایل ها نسخه مخصوص به خود را دارند و از تکنولوژی های متفاوت استفاده می کنند.

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

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

add_action('wp_print_styles', 'ninsoft_enqueue_styles');
function ninsoft_enqueue_styles(){
global $is_iphone;
if( $is_iphone ){
&nbsp; wp_enqueue_style('iphone-css', get_stylesheet_directory_uri() . '/iphone.css');
}
else{
&nbsp; wp_enqueue_style('common-css', get_stylesheet_directory_uri() . '/common.css');
}
}

ریدایرکت فید وردپرس به فیدبرنر

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

بعد از اضافه کردن فید سایتتان به فیدبرنر از کد زیر استفاده کنید:

add_action('template_redirect', 'ninsoft_rss_redirect');
function ninsoft_rss_redirect() {
if (is_feed() &amp;&amp; !preg_match('/feedburner|feedvalidator/i', $_SERVER['HTTP_USER_AGENT'])){
&nbsp; header('Location: http://feeds.feedburner.com/ninsoftir/feed');
&nbsp; header('HTTP/1.1 302 Temporary Redirect');
}
}

با آرزوی موفقعیت .

درباره مسعود درویشی

مسعود درویشی هستم، 6 سال در زمینه طراحی وب فعالیت دارم و به سیستم مدیریت محتوای وردپرس مسلط هستم. تیم سلیورتم نه تنها در زمینه طراحی وب، بلکه در زمینه های گرافیک، ابزارهای وبمستران نیز فعالیت دارد. آموزش های ویدیویی سایت توسط بنده تهیه می شود.

دسته بندی و برچسب ها


دسته ها:هک وردپرس


پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *