---
title: "8 Code snippets hữu ích dành cho WordPress"
author: "Trung Hiếu"
date: "2014-06-14"
lastmod: "2022-06-19"
url: "https://wpcanban.com/wordpress/thu-thuat-wordpress/8-code-snippets-huu-ich-danh-cho-wordpress.html"
---

# 8 Code snippets hữu ích dành cho WordPress

8 Code snippets hữu ích dành cho blog/ website WordPress.

![code-snippets-huu-ich-danh-cho-wordpress](https://wpcanban.com/wp-content/uploads/2014/06/code-snippets-huu-ich-danh-cho-wordpress.jpg)

Cách phổ biến nhất để bổ sung hoặc thay đổi các chức năng của một blog/ website *[WordPress](https://wpcanban.com/category/wordpress)* là cài đặt plugin. Tuy nhiên, các chức năng này cũng có thể được thêm vào các tập tin giao diện (theme). Trong thực tế, phần lớn các *[WordPress themes](https://wpcanban.com/category/wordpress/wordpress-themes)* đều có khả năng biến đổi *WordPressCore* theo một cách nào đó. Code snippets là những đoạn mã có thể được chèn trực tiếp vào các tập tin giao diện. Đôi khi chúng mang một chức năng đầy đủ. Trong một số trường hợp khác, chỉ đơn giản là thay đổi một chức năng đã có.

Tham khảo thêm:

- *[Tạo file functions.php để chèn code tùy biến WordPress](https://wpcanban.com/wordpress/thu-thuat-wordpress/tao-file-functions-php-cho-wordpress.html)*
- *[Tùy chỉnh file wp-config.php giúp bảo mật WordPress](https://wpcanban.com/wordpress/thu-thuat-wordpress/tuy-chinh-file-wp-config-php-bao-mat-wordpress.html)*

## 8 Code snippets hữu ích dành cho WordPress

Trong bài viết này, tôi sẽ giới thiệu đến các bạn 8 code snippets hữu ích giúp cải tiến *WordPress*. Tôi đã thử nghiệm thành công tất cả các code snippets trên giao diện mặc định [\*Twenty Fourteen\*](https://wordpress.org/themes/twentyfourteen). Tuy nhiên, một số chức năng có thể không hoạt động được nếu theme của bạn đã bị sửa đổi quá nhiều (đặc biệt nếu nó là một framework).

### 1. Xóa trash

*WordPress* sẽ giữ một bản sao của tất cả các bài viết, các trang và bình luận mà ​​bạn đã xóa. Trừ khi bạn vào thư mục *Trash* (thùng rác) và xóa chúng vĩnh viễn. *Trash* hoạt động tương tự như* Recycle Bin* của hệ điều hành *Windows*.

Cứ 30 ngày một lần, *WordPress* sẽ tự động xóa tất cả mọi thứ khỏi thùng rác. Tuy nhiên, bạn có thể làm giảm thời gian lưu file trong thùng rác bằng cách thêm dòng mã sau đây vào tập tin *wp-config.php*:

```
define ('EMPTY_TRASH_DAYS', 7);
```

Thay “7” bằng số ngày mà bạn muốn lưu trữ các dữ liệu đã xóa.

Nếu bạn muốn tối ưu hóa cơ sở dữ liệu hơn nữa, hạn chế lưu các thông tin không cần thiết, bạn có thể vô hiệu hóa hệ thống “thùng rác” hoàn toàn bằng cách thêm dòng mã sau vào tập tin *wp-config.php*:

```
define ('EMPTY_TRASH_DAYS', 0);
```

### 2. Giảm post revisions

[\*WordPress revision system\*](http://codex.wordpress.org/Revisions) tự động lưu các bản thảo bài viết và trang của bạn sau những khoảng thời gian nhất định. Tính năng này rất quan trọng với các blogger vì nó cho phép họ xem lại dự thảo trước đó và tiếp tục công việc còn dang dở trong trường hợp kết nối internet bị mất (mất điện, tắt trình duyệt đột ngột…).

Thật không may, bản thảo chiếm rất nhiều không gian trong cơ sở dữ liệu của bạn. Nguy hiểm hơn nữa, mặc định của *WordPress* không giới hạn số lượng các dự thảo được lưu. Điều này có nghĩa là một bài viết được lưu một trăm lần sẽ chiếm một trăm hàng trong bảng cơ sở dữ liệu của bạn.

Để giải quyết vấn đề này, bạn có thể giảm số lượng bản thảo được lưu xuống mức hợp lý hơn bằng cách thêm đoạn mã sau vào tập tin *wp-config.php*:

```
define ('WP_POST_REVISIONS', 3);
```

Thay “3” bằng số lượng bản thảo mà bạn muốn lưu trữ.

Nếu bạn muốn vô hiệu hóa hoàn toàn chức năng này, hãy thêm đoạn mã sau vào tập tin *wp-config.php*:

```
define ('WP_POST_REVISIONS', false);
```

*WordPress* tự động lưu các bài viết và trang, cứ mỗi 60 giây một lần. Khoảng thời gian đó có thể được sửa đổi bằng cách thêm đoạn mã sau vào tập tin *wp-config.php*:

```
define ('AUTOSAVE_INTERVAL', 160);
```

Trong đó, “160” là thời gian giữa 2 lần tự động lưu, tính theo giây. Bạn hoàn toàn có thể thay đổi thông số này theo nhu cầu.

### 3. Di chuyển thư mục wp-content

Thư mục *wp-content* chứa themes, plugins và các file bạn đã upload. Một số plugin, chẳng hạn như plugin bộ nhớ đệm (cache), cũng sử dụng thư mục *wp-content* để lưu trữ dữ liệu. Do đó, thư mục *wp-content* thường xuyên là mục tiêu cho các tin tặc. Đặc biệt là nguy cơ bị phần mềm độc hại chèn vào các tập tin giao diện. Bạn có thể làm cho thư mục *wp-content* khó bị người khác tìm thấy bằng cách di chuyển nó đến một khu vực khác trên hosting.

Để di chuyển thư mục *wp-conten*t tới một vị trí khác, bạn có thể thêm code snippets sau vào tập tin *wp-config.php*:

```
define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/newlocation/wp-content' );
```

Nếu thích, bạn có thể xác định vị trí mới bằng cách sử dụng URL:

```
define ('WP_CONTENT_URL', 'http://www.yourwebsite.com/newlocation/wp-content');
```

*WordPress* cũng cho phép bạn đổi tên thư mục *wp-content* bằng cách sử dụng code snippets:

```
define ('WP_CONTENT_FOLDERNAME', 'newfoldername');
```

*Lưu ý*: thay “newlocation”, “http://www.yourwebsite.com/newlocation/” và “newfoldername” bằng dữ liệu của bạn cho phù hợp.

Thay đổi thư mục *wp-content* có thể giúp cho blog/ website *WordPress* an toàn hơn. Tuy nhiên, một điều đáng tiếc là không phải lúc nào bạn cũng có thể thực hiện được, vì nhiều nhà phát triển sử dụng mã “*wp-content*” trong code plugin của họ. Nó vẫn có giá trị thực tiễn nếu bảo mật là ưu tiên hàng đầu của bạn. Mặc dù, việc này có thể yêu cầu phải chỉnh sửa mã của nhiều plugin mà bạn đang sử dụng.

### 4. Chuyển hướng trang Author Archive về trang Giới thiệu

Nếu bạn đang vận hành blog/ website với chỉ một tác giả duy nhất, trang *Author Archives* (trang lưu trữ bài viết theo tác giả) là không cần thiết vì nó tương tự như trang lưu trữ hàng tháng hay lưu trữ theo chuyên mục. Một giải pháp tốt hơn là chuyển hướng trang *Author Archives* của bạn trực tiếp đến trang *About* (giới thiệu).

Bạn có thể làm điều này bằng cách thêm code snippets sau vào file *functions.php* của theme mà bạn đang sử dụng:

```
add_filter( 'author_link', 'my_author_link' );
function my_author_link() {
    return home_url( 'about' );
}
```

### 5. Chuyển hướng đến bài viết nếu kết quả tìm kiếm chỉ có một bài viết

Bất cứ khi nào một hoạt động tìm kiếm được thực hiện, *WordPress* sẽ hiển thị một danh sách của tất cả các bài viết và các trang có liên quan đến từ khoá. Sau đó, người dùng có thể click vào bài viết mà họ muốn đọc.

Nếu chỉ có duy nhất một kết quả thì trang kết quả tìm kiếm là không cần thiết. Sẽ tốt hơn nếu bạn chuyển hướng khách truy cập trực tiếp đến kết quả tìm kiếm đó. Bạn có thể làm điều này bằng cách thêm code snippets sau đây vào tập tin *functions.php* của theme mà bạn đang dùng.

```
add_action('template_redirect', 'redirect_single_post');
function redirect_single_post() {
if (is_search()) {
global $wp_query;
if ($wp_query->post_count == 1 && $wp_query->max_num_pages == 1) {
wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
exit;
}
}
}
```

### 6. Loại bỏ các page khỏi kết quả tìm kiếm

Một blog/ website thường có hàng trăm hoặc hàng ngàn bài viết, nhưng chỉ cần một vài trang (page). Những trang này thường là những trang quan trọng của blog/ website như *Giới thiệu,* *Liên hệ* và luôn được hiển thị rõ ràng trong menu hoặc sidebar. Do đó, hiển thị các trang trong kết quả tìm kiếm là việc hoàn toàn không cần thiết.

Loại bỏ các page khỏi kết quả tìm kiếm cũng là một cách hiệu quả để ẩn những trang riêng tư khỏi khách truy cập. Ví dụ: trang đăng ký bài viết qua email hoặc trang download ebook.

Thêm đoạn code snippets dưới đây vào file *functions.php* của theme bạn đang dùng sẽ đảm bảo chỉ có bài viết được hiển thị trong kết quả tìm kiếm:

```
function filter_search($query) {
if ($query->is_search) {
$query->set('post_type', 'post');
}
return $query;
}
add_filter('pre_get_posts', 'filter_search');
```

### 7. Loại bỏ mục URL trong form bình luận

Đây là một thủ thuật bạn có thể sử dụng để làm giảm lượng bình luận spam: loại bỏ mục URL trong khung bình luận. Việc làm này sẽ giúp giảm số lượng bình luận chất lượng kém mà blog/ website của bạn phải nhận.

Để loại bỏ mục URL trong form bình luận, tất cả những gì bạn phải làm là thêm code snippets sau đây vào tập tin *functions.php* của theme mà bạn đang dùng:

```
function remove_comment_fields($fields) {
unset($fields['url']);
return $fields;
}
add_filter('comment_form_default_fields','remove_comment_fields');
```

### 8. Yêu cầu độ dài tối thiểu của bình luận

Một điều khó chịu là nhiều bình luận quá ngắn và gần như vô nghĩa, kiểu ​​như: “Cảm ơn”, “Bài viết rất hay”, “Tuyệt vời”… Nếu không muốn loại bỏ mục URL khỏi form bình luận, bạn có thể yêu cầu độ dài tối thiểu cho các bình luận để không phải nhận những bình luận ngắn cũn như trên.

Hãy thêm đoạn code snippets sau vào file *functions.php*. Bạn có thể thay đổi “20” bằng số lượng từ tối thiểu trong bình luận mà bạn mong muốn.

```
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;
}
```

Các dòng chữ “All comments must be at least” và “characters long” cũng có thể được Việt hóa hoặc tùy chỉnh theo ý thích của bạn.

Bạn biết những code snippets khác hữu ích hơn giúp nâng cao trải nghiệm với *WordPress*? Hãy chia sẻ nó với chúng tôi bằng cách sử dụng khung bình luận bên dưới.

*Nếu bạn thích bài viết này, hãy subscribe blog của tôi để thường xuyên cập nhật những bài viết hay nhất, mới nhất qua email nhé. Cảm ơn rất nhiều.* :)
