در قسمت های قبلی ترفندهای 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);