- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
Đây là những đoạn mã code nhỏ nhưng có thể bổ xung thêm tính năng hoặc sửa dữ liệu trên web wordpress của bạn
điều này làm cho WordPress tuyệt vời hơn – các cách thức mà nó có thể được tùy chỉnh để đáp ứng nhu cầu cụ thể của bạn là hầu như vô hạn.
Chắc chắn bạn có thể tìm thấy các plugin sẽ đáp ứng về mọi nhu cầu tưởng tượng của bạn nhưng nếu bạn có thể tìm ra một đoạn mã để hoàn thành công việc một cách đơn giản, nó thường là con đường ngắn & toàn diện nhất.
Chúng tôi đã tổng hợp những đoạn snippets hữu ích trong bài viết này, tất cả đều có thể làm cho kỹ năng của bạn thật dễ dàng với WordPress.
Sử dụng Code Snippets
Có một vài cách khác nhau để sử dụng đoạn mã ngắn. Hầu hết, bạn sẽ thêm đoạn mã này vào file functions.php trong thư mục giao diện WordPress hiện tại.
Nếu bạn thay đổi giao diện WP , bạn sẽ phải bắt đầu lại từ đầu. Ngoài ra, nếu bạn thay đổi/cập nhật theme cha ,thì tất cả những thay đổi của bạn sẽ được ghi đè. Chúng tôi khuyên bạn sử dụng child theme.
Để khắc phục vấn đề này bạn có một vài lựa chọn như sau:
- Viết một plugin tùy chỉnh.
- Sử dụng plugin tạo snippet như Code Snippets.
- Sử dụng child theme và đặt tất cả những đoạn mã trong child theme.
Một plugin miễn phí như code-snippets sẽ cho phép bạn tạo nhiều tùy chỉnh của riêng bạn bằng cách thêm các đoạn code có thể được bật hoặc tắt theo yêu cầu mà không cần phải sửa trực tiếp file functions.php.
Có nhiều giải pháp khác nữa, ví dụ nếu bạn đang kích hoạt một theme Genesis, bạn có thể sử dụng plugin Genesis Extender từ Cobalt Apps cho phép bạn thêm các chức năng tùy chỉnh thông qua plugin này. Plugin đặc biệt này cũng cho phép bạn ngăn chặn các chức năng tùy chỉnh mà gây ảnh hưởng đến trang admin WordPress.
Lời khuyên, trước khi bạn chỉnh sửa bất kể điều gì , cách tốt nhất là luôn thực hiện sao lưu trang web của bạn một cách an toàn.
Tự động liên kết Twitter Usernames
Bất cứ lúc nào bạn đề cập đến một công ty hoặc cá nhân từ trong mỗi bài viết, đó là tốt đẹp để liên kết đến hồ sơ cá nhân Twitter của họ. Snippet này sẽ tìm trong nội dung bài viết để phát hiện ký tự biểu thị một tên người dùng Twitter và sau đó tự động tạo ra một liên kết cho bạn. Ví dụ thay @hoangweb bằng @hoangweb.
function content_twitter_mention($content) { return preg_replace('/([^a-zA-Z0-9-_&])@([0-9a-zA-Z_]+)/', "$1@$2", $content); } add_filter('the_content', 'content_twitter_mention'); add_filter('comment_text', 'content_twitter_mention');
Thêm shortcodes vào Widgets
Đôi khi bạn chỉ muốn thêm shortcodes đến một widget text. May mắn thay, đây là một giải pháp với một dòng code đơn giản như sau.
add_filter( 'widget_text', 'do_shortcode' );
Redirect/chuyển hướng người dùng mới đăng ký đến một trang cụ thể
Nếu bạn cho phép một người dùng được đăng ký trên trang web WordPress của bạn, bạn có thể muốn chuyển hướng họ đến một trang cụ thể sau khi đăng nhập thành công. Có lẽ bạn muốn cung cấp cho họ một số thông tin quan trọng. Thêm đoạn mã sau vào functions.php
function wps_registration_redirect(){ return home_url( '/finished/' ); } add_filter( 'registration_redirect', 'wps_registration_redirect' );
Hạn chế WordPress Post Revisions
Theo dõi các bài sửa đổi trong WordPress là một tính năng tuyệt vời. Nếu thời gian viết bạn quá lâu sẽ dẫn dến tạo ra nhiều bản chỉnh sửa trong CSDL cho cùng một bài viết & sau khi kết thúc bài đăng sẽ có hàng chục hoặc thậm chí hàng trăm các phiên bản lưu trữ trong cơ sở dữ liệu. Một mẹo dễ dàng để hạn chế số lượng các phiên bản revision của bài đăng từ 3-5.
if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', 5); # tắt revisions if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', false);
Hiển thị (năm/Year) hiện tại trong định dạng ngày
Bạn có bao giờ muốn chèn các năm hiện nay ở một số bài viết của bạn thông qua một shortcode đơn giản không
Thêm đoạn mã dưới đây trong file functions.php và bạn có được shortcode [year] để thêm vào mọi vị trí trên website.
function year_shortcode() { $year = date('Y'); return $year; } add_shortcode('year', 'year_shortcode');
Xóa Private/Protected trong tiêu đề bài đăng
Trong trường hợp bạn đã bao giờ xuất bản bài viết với trạng thái private, bạn sẽ nhận thấy rằng tiêu đề được mở đầu bằng một lời nhắc nhở khó coi, vd: :private
. Để loại bỏ các từ đó hãy xem xét thêm đoạn mã dưới đây và tiêu đề lúc này sẽ không bị chèn thêm những chú thích nữa.
function the_title_trim($title) { $title = attribute_escape($title); $findthese = array( '#Protected:#', '#Private:#' ); $replacewith = array( '', // What to replace "Protected:" with '' // What to replace "Private:" with ); $title = preg_replace($findthese, $replacewith, $title); return $title; } add_filter('the_title', 'the_title_trim');
Hiển thị ngày đăng/chỉnh sửa bài viết
Đôi khi 6 tháng sau khi bạn viết một bài, bạn quyết định cập nhật lại bài với một số thông tin mới. Snippet này sẽ thêm một ngày sửa đổi dưới tiêu đề bài viết của bạn .
Posted on <?php the_time('F jS, Y') ?> <?php $u_time = get_the_time('U'); $u_modified_time = get_the_modified_time('U'); if ($u_modified_time != $u_time) { echo "and last modified on "; the_modified_time('F jS, Y'); echo ". "; } ?>
Xóa phiên bản WordPress
Trong trường hợp bạn muốn ẩn phiên bản WordPress trên trang web của bạn, không muốn cho khách truy cập thấy, chỉ cần thêm đoạn mã này.
<?php // Remove the version number of WP // Warning - this info is also available in the readme.html file in your root directory - delete this file! remove_action('wp_head', 'wp_generator'); ?>
Ẩn thông báo cập nhật WordPress
Khi quản lý các trang web khách hàng, đôi khi bạn muốn trì hoãn việc cập nhật lên phiên bản mới nhất của WordPress cho đến khi bạn đã tạo ra một bản sao lưu WordPress mới. Đoạn này sẽ ẩn thông báo cập nhật từ WordPress CMS.
// Hide WordPress Update function wp_hide_update() { remove_action('admin_notices', 'update_nag', 3); } add_action('admin_menu','wp_hide_update');
Xóa trường URL trong form bình luận (Comment)
Nếu blog của bạn được nhắm mục tiêu liên tục cho những spamer, kẻ gửi thư rác, bạn có thể loại bỏ trường URL từ form bình luận vì lý do này sẽ mất đi động lực với mục đích tạo backlink của họ.
function remove_comment_fields($fields) { unset($fields['url']); return $fields; } add_filter('comment_form_default_fields','remove_comment_fields');
Bao nhiêu hình ảnh đính trong một bài viết là đủ
Để tăng thêm phong phú cho nội dung, người đăng bài cần phải thêm các hình ảnh vào trong bài đăng. Đoạn này sẽ thêm một cột tùy chỉnh trong admin cho bạn biết có bao nhiêu hình ảnh đã được chèn vào bài viết.
add_filter('manage_posts_columns', 'posts_columns_attachment_count', 5); add_action('manage_posts_custom_column', 'posts_custom_columns_attachment_count', 5, 2); function posts_columns_attachment_count($defaults){ $defaults['wps_post_attachments'] = __('Attached'); return $defaults; } function posts_custom_columns_attachment_count($column_name, $id){ if($column_name === 'wps_post_attachments'){ $attachments = get_children(array('post_parent'=&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;$id)); $count = count($attachments); if($count !=0){echo $count;} } }
Tự động tối ưu nén JPEG (Compression)
Nếu bạn đang sử dụng phần mềm tối ưu hình ảnh của bên thứ ba như Optimus hoặc WP Smush, bạn có thể muốn điều chỉnh tính năng tối ưu hình ảnh có tích hợp sẵn trong WordPress từ 90% lên 100%.
add_filter( 'jpeg_quality', 'smashing_jpeg_quality' ); function smashing_jpeg_quality() { return 100; }
Nhắc tác giả thêm hình ảnh đại diện / Featured Image
Đây là một ý tưởng tuyệt vời nếu những khách hàng của bạn đang tạo ra những bài viết của riêng họ. Sau khi bạn dành nhiều thời gian nghĩ ra một mẫu layout hấp dẫn, khách hàng thường bỏ qua đính hình ảnh đại diện
. Đoạn mã này sẽ nhắc tác giả để chọn 1 hình ảnh làm đại diện trước khi bài viết có thể được đăng thành công.
add_action('save_post', 'wpds_check_thumbnail'); add_action('admin_notices', 'wpds_thumbnail_error'); function wpds_check_thumbnail($post_id) { // change to any custom post type if(get_post_type($post_id) != 'post') return; if ( !has_post_thumbnail( $post_id ) ) { // set a transient to show the users an admin message set_transient( "has_post_thumbnail", "no" ); // unhook this function so it doesn't loop infinitely remove_action('save_post', 'wpds_check_thumbnail'); // update the post set it to draft wp_update_post(array('ID' => $post_id, 'post_status' => 'draft')); add_action('save_post', 'wpds_check_thumbnail'); } else { delete_transient( "has_post_thumbnail" ); } } function wpds_thumbnail_error() { // check if the transient is set, and display the error message if ( get_transient( "has_post_thumbnail" ) == "no" ) { echo " <div id="message" class="error"> You must select Featured Image. Your Post is saved but it can not be published. </div> "; delete_transient( "has_post_thumbnail" ); } }
Thay dòng chữ “Howdy, User Name”
Bạn có thể muốn thay đổi thông điệp “Howdy” được xuất hiện trong tiêu đề cho người dùng đăng nhập. Một cái gì đó thích hợp hơn như “Logged in as”. Thêm mã dưới đây vào tệp functions.php của bạn:
function replace_howdy( $wp_admin_bar ) { $my_account=$wp_admin_bar->get_node('my-account'); $newtitle = str_replace( 'Howdy,', 'Logged in as', $my_account->title ); $wp_admin_bar->add_node( array( 'id' => 'my-account', 'title' => $newtitle, ) ); } add_filter( 'admin_bar_menu', 'replace_howdy',25 );
Xóa hoặc ản danh mục từ trang chủ
Đôi khi bạn muốn loại bỏ hoặc không muốn hiển thị một vài danh mục nào đó trên trang chủ của bạn. Một số giao diện wordpress đẹp có thêm chức năng này vì vậy hãy chắc chắn kiểm tra các thiết lập trong chủ đề của bạn đầu tiên. Một giải pháp khác.
function exclude_category_home( $query ) { if ( $query->is_home ) { $query->set( 'cat', '-5, -34' ); } return $query; } add_filter( 'pre_get_posts', 'exclude_category_home' );
Hiện thị X kết quả trên trang tìm kiếm
Nếu bạn muốn thay đổi số lượng mặc định trong kết quả tìm kiếm , đoạn code này sẽ cho phép bạn làm điều đó.
function limit_posts_per_search_page() { if ( is_search() ) set_query_var('posts_per_archive_page', 20); } add_filter('pre_get_posts', 'limit_posts_per_search_page');
Nếu bạn có những đoạn code snippet WordPress hay hãy chia sẻ với chúng tôi dưới bài viết này cho mọi người tham khảo nhé.
Để nhận được bài viết mới vui lòng đăng ký kênh kiến thức WordPress từ A-Z ở Form bên dưới. Bạn cũng có thể nhận được sự trợ giúp trên Twitter và Facebook
- shares
- Facebook Messenger
- Gmail
- Viber
- Skype