.

Thiết lập file functions.php cho WordPress [phần 2]

Hôm nay chúng ta tiếp tục đến với những dòng Code giúp bạn dễ dàng tối ưu website WordPress bằng File functions mà không cần sử dụng đến Plugin. Nếu bạn chưa xem bài viết đầu tiên của chúng tôi thì mời bạn khám phá tại:
Xóa /category/ trong liên kết

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Xóa category
function fix_slash( $string, $type )
{
     global $wp_rewrite;
     if ( $wp_rewrite->use_trailing_slashes == false )
     {
          if ( $type != 'single' && $type != 'category' )
               return trailingslashit( $string );
 
          if ( $type == 'single' && ( strpos( $string, '.html/' ) !== false ) )
               return trailingslashit( $string );
 
          if ( $type == 'category' && ( strpos( $string, 'category' ) !== false ) )
          {
               $aa_g = str_replace( "/category/", "/", $string );
               return trailingslashit( $aa_g );
          }
          if ( $type == 'category' )
               return trailingslashit( $string );
     }
     return $string;
}
 
add_filter( 'user_trailingslashit', 'fix_slash', 55, 2 );

Cho phép author chỉ xem được comment của bài họ viết
Mặc định khi họ vào mục Comments trong WordPress Dashboard, các thành viên có quyền Author vẫn xem được các comment ở tất cả bài viết. Như thế làm họ rất khó quản lý, đoạn code này sẽ giúp họ chỉ xem được các comment có trong bài của họ.

1
2
3
4
5
6
7
8
9
10
11
12
13
function get_comment_list_by_user($clauses)
{
     if (is_admin())
     {
          global $user_ID, $wpdb;
          $clauses['join'] = ", wp_posts";
          $clauses['where'] .= " AND wp_posts.post_author = ".$user_ID." AND wp_comments.comment_post_ID = wp_posts.ID";
     };
     return $clauses;
};
if(!current_user_can('edit_others_posts'))
{
     add_filter('comments_clauses', 'get_comment_list_by_user');

Chặn những comment quá ngắn
Đây là một cách phòng chống spam

1
2
3
4
5
6
7
8
9
10
add_filter( 'preprocess_comment', 'minimal_comment_length' );
function minimal_comment_length( $commentdata )
{
     $minimalCommentLength = 20;
     if ( strlen( trim( $commentdata['comment_content'] ) ) < $minimalCommentLength )
     {
          wp_die( 'All comments must be at least ' . $minimalCommentLength . ' characters long.' );
     }
     return $commentdata;
}

Thay số 20 thành số ký tự mà bạn muốn chặn. Nếu số lượng ký tự comment thấp hơn con số đó thì nó sẽ chặn.

Thêm copyright ngay dưới mỗi bài viết trong RSS Feed
Cách để phòng chống những kẻ copy bài của mình qua RSS Feed là chèn một link trong bài, ai copy thì sẽ tặng bạn một backlink.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function feedFilter($query)
{
     if ($query->is_feed)
     {
          add_filter('the_content','feedContentFilter');
     }
     return $query;
}
add_filter('pre_get_posts','feedFilter');
 
function feedContentFilter($content)
{
     $content .= '
     Bài viết này thuộc quyền sở hữu của <a href="http://nhatdesign.com" rel="dofollow">Nhat Design | Thiết Kế Website Chuyên Nghiệp</a>.
 
     ';
 
     return $content;
}

Cho phép viết PHP vào Text Widget
Mặc định Text Widget chỉ cho phép chèn mã HTML và chữ thường vào. Sau khi thêm đoạn code sau bạn sẽ có thể thực thi mã PHP vào đó.

1
2
3
4
5
6
7
8
9
10
11
function php_text($text)
{
     if (strpos($text, '<' . '?') !== false)
     {
          ob_start();  eval('?' . '>' . $text);
          $text = ob_get_contents();
          ob_end_clean();
     }
     return $text;
}
add_filter('widget_text', 'php_text', 99);

Cho phép viết shortcode vào widget

1
add_filter('widget_text', 'do_shortcode');

Qua hai bài viết iZdesigner đã giới thiệu tới các bạn một số việc bạn có thể làm với file functions.php để cải thiện blog WordPress của mình. Và chúng tôi chỉ giới thiệu tới các bạn những dòng Code giúp bạn tối ưu và phát triển Wordpress. Còn rất nhiều những đoạn Code khác mà bạn có thể sưu tầm thêm trên mạng hoặc có thể dùng kiến thức PHP của mình để ứng dụng vào file đầu não của theme như functions.php
Trọng Đại - iZdesigner.com
Thiết lập file functions.php cho WordPress [phần 2] Reviewed by Unknown on 17:00 Rating: 5

Không có nhận xét nào:

Phát triển bởi iZdesigner Team

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.