Những đoạn code hữu ích cho WordPress

Cập nhật lần cuối vào

Bài viết này mình sẽ giới thiệu đến các bạn những đoạn code hữu ích cho WordPress, bạn có thể sử dụng nó trong giao diện bạn đang dùng. Hầu hết các chức năng bạn muốn đều có plugin hỗ trợ, nhưng đối với những bạn không thích dùng nhiều plugin vì sợ nặng trang hoặc chỉ đơn giản là bạn muốn tìm tòi học hỏi code WordPress thì bạn sử dụng các hàm này đính kèm vào giao diện.

WordPress code logo

Code bạn muốn bỏ vào giao diện thường thì sẽ đặt vào tập tin functions.php của giao diện, hoặc bạn tự tạo các tập tin PHP riêng, sau đó load vào tập tin functions của giao diện là được.

1. Giới hạn độ rộng video YouTube

Trong WordPress, bạn hoàn toàn có thể embed video của YouTube hoặc các nguồn khác vào blog của mình, ngoài việc bạn có thể sử dụng CSS để điều chỉnh kích thước ra, bạn có thể dùng hook để giới hạn độ rộng của thẻ HTML trước khi xuất ra ngoài.

function hocwp_limit_width($matches) {
	$max = 700;
	$width = $matches[1];
	if(is_numeric($width) && ($width > $max)) {
		$width = $max;
	}
	return 'width="' . strval($width) . '"';
}

function hocwp_change_embed_width($content) {
	$pattern = '(width=[\'\"](\d+)[\'\"])';
	if(false !== strpos($content, 'youtube')) {
		$content = preg_replace_callback($pattern, hocwp_limit_width, $content);
	}
	return $content;
}
add_filter('embed_oembed_html', 'hocwp_change_embed_width');

2. Thay đổi link Read more

Đây là một hàm nhỏ, nhưng bạn có thể sử dụng nó để hạn chế các lỗi 404 trên Google Search Console. Với hook này thì bạn có thể thay đổi kiểu dáng của nút xem thêm, thay đổi lại thông tin chữ hiển thị tùy biến.

function hocwp_readmore_link($link) {
	return '<a class="more-link btn btn-small" href="' . get_permalink() . '">Read article.</a>';
}
add_filter('the_content_more_link', 'hocwp_readmore_link' );

3. Ẩn thanh admin bar

Thanh Admin bar của WordPress chứa những công cụ tuyệt vời, giúp bạn thao tác nhanh hơn, tuy nhiên nếu bạn muốn ẩn thanh này đối với người dùng hoặc toàn bộ hệ thống thì bạn cũng có thể thực hiện được dễ dàng.

//  Hide WP Admin bar site wide
show_admin_bar(false);

// OR, hide from front-end only
add_filter('show_admin_bar', '__return_false');

4. Giới hạn post revisions

Post revisions là chức năng tự động tạo ra các bản sao lưu của bài viết, khi bạn soạn thảo thì những revisions sẽ được tạo ra phòng trường hợp bạn muốn thay đổi hoặc quay lại so sánh giữa các bản soạn thảo. Tuy nhiên, nếu trang của bạn có số lượng bài viết nhiều, thời gian hoạt động lâu năm thì việc có quá nhiều Post revisions trong cơ sở dữ liệu sẽ làm chậm đi tốc độ trang web.

// limit post revisions to a maximum of 5 revisions per post
define('WP_POST_REVISIONS', 5);
 
// or disable revisions
define('WP_POST_REVISIONS', false);

Bạn mở tập tin wp-config.php lên và khai báo số lượng WP_POST_REVISIONS, nếu bạn muốn tắt nó đi thì để là false.

5. Thay đổi WP PHP Memory Limit

Bạn có thể thay đổi lại các thông số khai báo mặc định của WordPress. Cũng giống như chức năng bên trên, đối với các trường hợp bạn dùng define hằng thì bạn bỏ vào tập tin wp-config.php.

//  boost to 128 mb
define('WP_MEMORY_LIMIT', '128M');
 
// optionally, set a higher limit for your WP admin area
define('WP_MAX_MEMORY_LIMIT', '256M');

6. Tự động chèn link tài khoản Twitter

Nếu trong nội dung bình luận hoặc bài viết bạn chèn @twitteraccount thì nó sẽ tự động thêm đường link trỏ đến tài khoản này.

function hocwp_link_twitter_account($content) {
	return preg_replace('/([^a-zA-Z0-9-_&])@([0-9a-zA-Z_]+)/',"$1<a href=\"http://twitter.com/$2\" target=\"_blank\" rel=\"nofollow\">@$2</a>",$content);
}
add_filter('the_content', 'hocwp_link_twitter_account');
add_filter('comment_text', 'hocwp_link_twitter_account');

7. Xóa bớt thông tin trong thẻ head

Có rất nhiều thông tin trong thẻ head, trong đó có những thông tin thật sự không cần thiết cho bạn, bạn có thể xóa nó đi.

remove_action( 'wp_head', 'rsd_link' );
remove_action( 'wp_head', 'wlwmanifest_link' );
remove_action( 'wp_head', 'wp_generator' );
remove_action( 'wp_head', 'start_post_rel_link' );
remove_action( 'wp_head', 'index_rel_link' );
remove_action( 'wp_head', 'adjacent_posts_rel_link' );
remove_action( 'wp_head', 'wp_shortlink_wp_head' );

8. Không tạo link đường dẫn trong bình luận

Mặc định, khi bạn chèn một đường link vào nội dung bình luận thì nó sẽ tự động trở thành thẻ link liên kết tới trang web bạn đã ghi, để tránh tình trạng đi spam comment theo kiểu này thì bạn có thể xóa nó đi.

remove_filter('comment_text', 'make_clickable', 9);

9. Thay đổi độ dài của excerpt

Bạn hoàn toàn có thể thay đổi lại độ dài của excerpt, thậm chí đối với các trang lưu trữ khác nhau thì có một độ dài khác nhau, bạn có thể sử dụng các hàm điều kiện để kiểm tra và trả về kết quả tương ứng.

function hocwp_change_excerpt_length($length) {
	return 80;
}
add_filter('excerpt_length', 'hocwp_change_excerpt_length', 99);

10. Hiển thị widget bằng hàm

Widget là một chức năng hữu ích của WordPress, bạn có thể tạo được các box với hiển thị khác nhau nằm trên sidebar. Nhưng nếu bạn muốn dùng widget vào bất kỳ chỗ nào trên giao diện thì cũng được, bằng cách sử dụng các hàm như bên dưới.

the_widget('WP_Widget_Search');

if(function_exists('the_widget')) {
	$rss_options = array(
		'title' => 'RSS Title',  // Title of the Widget
		'url' => 'http://codepeach.com/feed/', // URL of the RSS Feed
		'items' => 10, // Number of items to be displayed
		'show_summary' => 1, // Show post excerpts?
		'show_author' => 1, // Set 1 to display post author
		'show_date' => 1 // Set 1 to display post dates
	);
	the_widget('WP_Widget_RSS', $rss_options);
}

Vẫn còn nhiều các hàm hữu dụng khác mà mình chưa nêu ra ở đây, WordPress là một kho kiến thức vô cùng rộng lớn, nếu bạn chịu khó nghiên cứu và học hỏi thì bạn hoàn toàn có thể làm chủ được nó. Chúc bạn thành công.

Theo dõi
Thông báo của
guest

4 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận
Quốc Đạt
Quốc Đạt
8 năm trước

Mình muốn code cái đăng ký thông tin khách hàng như ở website này bạn xem rồi lên chi phí cho mình đc k
http://condotelfhomedanang.com/
Phần “Liên hệ công ty”

nước tro tràu
1 năm trước

code hay và hữu ích quá, cảm ơn bác đã chia sẻ

David Do
1 năm trước

Cập nhật thêm đi bác