در قسمت های قبلی ترفندهای function وردپرس ما برای شما تعدادی از ترفندها و هک های مربوط به فایل Function وردپرس را توضیح دادیم . ترفندهایی که در امر بهتر کردن عملکرد سایت نقش خوبی داشت . اکنون میخواهیم سایر ترفندهای کاربردی این فایل پرکاربرد را خدمت شما عرض کنیم .
ترفندهای function وردپرس – قسمت چهارم
در سه قسمت قبلی 11 ترفند را خدمت شما عرض کرده بودیم . در این قسمت میخواهیم همین روند را ادامه دهیم .
12 – افزودن ابزارک ناحیه آماده یا در نوار کناری
کافیست کد زیر را در فایل مربوطه اضافه کنید .
// Register Sidebars function custom_sidebars() { $args = array( 'id' => 'custom_sidebar', 'name' => __( 'Custom Widget Area', 'text_domain' ), 'description' => __( 'A custom widget area', 'text_domain' ), 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', 'before_widget' => '<aside id="%1$s" class="widget %2$s">', 'after_widget' => '</aside>', ); register_sidebar( $args ); } add_action( 'widgets_init', 'custom_sidebars' );
پس از این کار در قسمت ابزارک ها با چیزی مشابه تصویر زیر رو به رو خواهید شد .
برای نمایش ابزارک خود در مکان مربوطه باید از کد زیر استفاده کنید :
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('custom_sidebar') ) : ?> <!–Default sidebar info goes here–> <?php endif; ?>
13- مدیریت فید خوان فوتر
ممکنه شما دیده باشید در هر مطلب فید آر اس اس تبلیغی قرار دهید میتوانید از کد زیر استفاده کنید :
function ivahid_postrss($content) { if(is_feed()){ $content = 'This post was written by Ivahid '.$content.'Check out Ivahid'; } return $content; } add_filter('the_excerpt_rss', 'ivahid_postrss'); add_filter('the_content', 'ivahid_postrss'); }
14 – افزودن تصویر شاخص به RSS
تصاویر بندانگشتی و یا شاخص تنها در طراحی سایت شما نمایش داده میشود . شما میتوانید این تصاویر را به صورت خیلی ساده با افزودن کد زیر به فایل Functions درون پوشه قالب خود ، درون فایل RSS نمایش دهید .
function rss_post_thumbnail($content) { global $post; if(has_post_thumbnail($post->ID)) { $content = '<p>' . get_the_post_thumbnail($post->ID) . '</p>' . get_the_content(); } return $content; } add_filter('the_excerpt_rss', 'rss_post_thumbnail'); add_filter('the_content_feed', 'rss_post_thumbnail');
15 – مخفی کردن خطاهای لاگین وردپرس
این مورد کمی نقش امنیتی دارد تا هکر ها نتوانند خطایی که داده میشود را مشاهده و از آن بر علیه شما استفاده کنند . با کد زیر میتوانید اینکار را انجام دهید .
function no_wordpress_errors(){ return 'Something is wrong!'; } add_filter( 'login_errors', 'no_wordpress_errors' );
پس از آن در صفحه لاگین اگر نام کاربری یا رمز اشتباه باشد خطایی مانند تصویر زیر میدهد :
16 – غیر فعال کردن لاگین توسط ایمیل
وردپرس امکان لاگین با استفاده از ایمیل یا نام کاربری را میدهد . اگر بخواهید لاگین تنها بر اساس نام کاربری باشد میتوانید با کد زیر دسترسی از طریق ایمیل را غیر فعال کنید .
remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );
17 – غیر فعال کردن قابلیت جستجو در وردپرس
اگر شما نخواهید در سایت وردپرسیتان امکان جستجوی مطالب باشد میتوانید از کد زیر استفاده کنید .
function fb_filter_query( $query, $error = true ) { if ( is_search() ) { $query->is_search = false; $query->query_vars[s] = false; $query->query[s] = false; // to error if ( $error == true ) $query->is_404 = true; } } add_action( 'parse_query', 'fb_filter_query' ); add_filter( 'get_search_form', create_function( '$a', "return null;" ) );
18 – تاخیر نوشته ها در فید RSS
بعضی اوقات ممکن است خطای گرامری یا غلط املایی در نوشته هایتان داشته باشید . اگر سایت شما به صورت آنلاین و زنده فعالیت داشته باشد این برای شما مشکل ساز خواهد شد . برای جلوگیری از این مشکل میتوانید تاخیری در ارسال نوشته ها به فید RSS داشته باشید :
function publish_later_on_feed($where) { global $wpdb; if ( is_feed() ) { // timestamp in WP-format $now = gmdate('Y-m-d H:i:s'); // value for wait; + device $wait = '10'; // integer // http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff $device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR // add SQL-sytax to default $where $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait "; } return $where; } add_filter('posts_where', 'publish_later_on_feed');
19 – تغییر متن ادامه مطلب برای متخصصان در وردپرس
شاید بخواهید کلمه ادامه مطلب را تغییر دهید . برای اینکار میتوانید از کد زیر استفاده کنید .
function modify_read_more_link() { return '<a class="more-link" href="' . get_permalink() . '">Your Read More Link Text</a>'; } add_filter( 'the_content_more_link', 'modify_read_more_link' );
به جای “Your Read More Link Text” باید متن خود را قرار دهید .
20 – غیر فعال کردن فید های RSS در وردپرس
برای غیر فعال کردن فیدهای RSS میتوانید از کد زیر استفاده کنید :
function fb_disable_feed() { wp_die( __('No feed available,please visit our <a href="'. get_bloginfo('url') .'">homepage</a>!') ); } add_action('do_feed', 'fb_disable_feed', 1); add_action('do_feed_rdf', 'fb_disable_feed', 1); add_action('do_feed_rss', 'fb_disable_feed', 1); add_action('do_feed_rss2', 'fb_disable_feed', 1); add_action('do_feed_atom', 'fb_disable_feed', 1);