Shortcode — công cụ tiết kiệm thời gian tuyệt vời cho nhiều quản trị viên WordPress đang tìm cách xây dựng trang web hoặc thêm thứ gì đó mà không gặp rắc rối khi viết code từ đầu. Bây giờ, mọi người hầu như đều thích sử dụng Shortcode, tuy nhiên, khi sử dụng khá nhiều shortcode thì sẽ khiến dẫn đến quá trình mất kiểm soát, mỗi lần thay đổi và cần xóa sẽ mất nhiều thời gian và thao tác.
Các plugin ShortCode có thể giúp tạo một trang web đẹp nhưng có thể là một vấn đề lớn để xóa nếu bạn không cần chúng. Dưới đây là 4 cách bạn có thể dễ dàng xóa Plugin ShortCode khỏi các Trang web WordPress của mình.
Ví dụ: nếu bạn đã sử dụng các Shortcode này thông qua một plugin hoặc một theme WordPress và sau đó ngừng sử dụng một trong hai, thì rất có thể trang web của bạn bây giờ không còn gì ngoài một mớ hỗn độn với những Shortcode không dùng đến, và khiến bạn ước rằng bạn đã chọn sử dụng các widget thay thế chứ không phải Shortcode.
Nếu bạn đã gặp phải tình trạng lộn xộn này và không muốn mất quá nhiều thời gian để tìm và xóa từng shortcode một, thì bài đăng này là dành cho bạn!
4 Cách xóa các mã Shortcode không sử dụng khỏi WordPress
1. Thêm mã vào trong functions.php
Vì vậy, giả sử rằng bạn có khá nhiều Shortcode không còn sử dụng nữa, thì có một cách khắc phục khá đơn giản như sau:
Đầu tiên, đăng nhập vào bảng điều khiển WP (WP dashboard) của bạn và đi tới Giao diện → Sửa giao diện (Appearance → Editor).
Tiếp theo, chọn theme bạn muốn tìm kiếm, và sau đó tìm tới file functions.php.
Cuộn xuống cuối file functions.php của bạn và dán mã sau ngay trước thẻ đóng ?> rồi nhấp save để lưu file lại:
add_filter('the_content', 'mte_remove_unused_shortcode');
function mte_remove_unused_shortcode($content)
{ $pattern = mte_get_unused_shortcode_regex();
$content = preg_replace_callback( '/'. $pattern .'/s', 'strip_shortcode_tag', $content );
return $content;
}
function mte_get_unused_shortcode_regex() {
global $shortcode_tags;
$tagnames = array_keys($shortcode_tags);
$tagregexp = join( '|', array_map('preg_quote', $tagnames) );
$regex = '\[(\[?)';
$regex .= "(?!$tagregexp)";
$regex .= '\b([^\]\/]*(?:\/(?!\])[^\]\/]*)*?)(?:(\/)\]|\](?:([^\[]*+(?:\[(?!\/\2\])[^\[]*+)*+)\[\/\2\])?)(\]?)';
return $regex;
}
Khi bạn lưu code này ở đây, bạn sẽ yêu cầu WordPress tìm và xóa tất cả các shortcode của bạn. Do đó, nếu bạn vẫn đang sử dụng shortcode trong trang web của mình, thì đây có thể không phải là lựa chọn tốt nhất của bạn. Ngoài ra, đôi khi, mã có thể gây hại nhiều hơn lợi.
Một tùy chọn khác để làm sạch giao diện trang web của bạn là ẩn các shortcode này thay vì sử dụng code trên để xóa tất cả hoặc mặc kệ không làm gì hết với trang web của bạn.
2. Sử dụng plugin để xóa shortcode
Trong WordPress, cái gì khó có plugin. Do đó, cách dễ nhất để làm loại bỏ cách shortcode không mong muốn là sử dụng plugin Hide Unwanted Shortcodes.
Tải xuống và cài đặt plugin, sau đó điều hướng đến các tùy chọn cài đặt của plugin. Ở đó, bạn sẽ tìm thấy một màn hình yêu cầu bạn đặt các thẻ shortcode mà bạn muốn ẩn. Bạn không phải nhập mọi thẻ không sử dụng ở đây (điều đó sẽ mất nhiều thời gian nếu bạn tự xóa tất cả chúng). Thay vào đó, chỉ cần truy cập các thẻ đơn mà bạn không còn sử dụng nữa.
Ví dụ: giả sử bạn có một loạt các thẻ trông như thế này:
[column-3] đây là nội dung ngẫu nhiên [/column]
[column-3] nội dung này cũng là ngẫu nhiên [/column]
Thay vì nhập toàn bộ đoạn mã, bạn chỉ cần nhập [column-3] vào hộp văn bản của cài đặt plugin. Nhập tất cả các thẻ bạn muốn ẩn và lưu lại.
Sau đó, các trang của bạn sẽ trông đẹp và sạch sẽ.
Làm sạch nó theo cách này không thực sự loại bỏ các shortcode, nó chỉ ẩn chúng, về cơ bản giống như phủi bụi bẩn khó coi trong phòng khách của bạn dưới tấm thảm – không phải là giải pháp tốt nhất nhưng ít nhất phòng khách của bạn sẽ trông sạch sẽ và khách hàng sẽ không còn thấy chúng nữa.
Để sử dụng plugin này, bạn nên nhớ các shortcode bạn đã sử dụng trên trang web của mình. Tuy nhiên, chỉ các shortcode được đề cập bởi plugin sẽ bị xóa, các shortcode khác sẽ vẫn còn trên trang web của bạn.
3. Xóa khỏi cơ sở dữ liệu (Database)
Phương pháp này cũng yêu cầu tên shortcode để xóa shortcode khỏi cơ sở dữ liệu. Mình sẽ giới thiệu một truy vấn đơn giản để loại bỏ các mã ngắn. Truy vấn sau như sau:
UPDATE wp_post SET post_content = replace(post_content, '[shortcode]', '' ) ;
Đăng nhập vào quản trị viên PHP của bạn và đi tới phần quản trị. Bây giờ chọn cơ sở dữ liệu và chạy đoạn code trên. Thay thế đoạn code ‘shortcode’ bằng đoạn shortcode bạn muốn loại bỏ.
4. Ẩn khỏi giao diện người dùng
Ngoài việc sử dụng plugin để loại bỏ các shortcode. Mình khuyên bạn nên sử dụng phương pháp này sẽ ẩn tất cả các shortcode khỏi trang web của bạn. Bạn chỉ cần thêm mã sau vào tệp ‘functions.php’.
add_shortcode( 'shortcode', '__return_false' );
Trước khi bạn chỉ định tên shortcode (thay từ shortcode bằng shortcode bạn muốn ẩn) trong mã, hãy đảm bảo rằng shortcode hiện không hoạt động.
Đảm bảo rằng shortcode bạn đang ẩn không hoạt động (plugin được gỡ cài đặt hoặc chủ đề không hoạt động) nếu không điều này sẽ phá vỡ trang web của bạn.
Tóm lược
Mình hy vọng bài viết này sẽ giúp bạn xóa các shortcode không sử dụng khỏi trang web trực tiếp của mình. Về cơ bản, bạn cần biết tên shortcode để xóa shortcode khỏi cơ sở dữ liệu của mình. Hãy nhớ rằng các shortcode phải không hoạt động trước khi xóa chúng.
Hy vọng bạn thích bài viết của mình về cách xóa shortcode không sử dụng khỏi WordPress.