32 thủ thuật cực kỳ hữu ích cho file Functions WordPress

Tất cả các theme WordPress đi kèm với một file functions.php. File này hoạt động như một plugin và cho phép bạn thực hiện nhiều điều thú vị trên trang web WordPress của mình. Trong bài viết này, chúng tôi sẽ chỉ cho bạn một số thủ thuật hữu ích nhất cho file functions WordPress của bạn.

File function trong WordPress là gì?

File function thường được hiểu là functions.php, một file trong theme WordPress. Theme WordPress miễn phí và premium đều có nó.

Mục đích của file này là cho phép các developer xác định các tính năng và chức năng của theme. File này hoạt động giống như một plugin WordPress và có thể được sử dụng để thêm các đoạn code tùy chỉnh của riêng bạn trong WordPress.

Bạn sẽ có thể tìm thấy nhiều đoạn code này trên các trang web như WPBeginner với các hướng dẫn yêu cầu bạn thêm code này vào functions.php của theme hoặc plugin site-specific.

Bạn có thể đang nghĩ sự khác biệt một plugin site-specific và functions.php là gì? Cái nào tốt hơn?

Trong khi file functions.php thuận tiện hơn, một plugin site-specific sẽ tốt hơn nhiều. Đơn giản vì nó độc lập với theme WordPress của bạn và sẽ hoạt động bất kể bạn đang sử dụng theme nào.

Mặt khác, functions.php của một theme sẽ chỉ hoạt động cho theme đó. Và nếu bạn chuyển đổi theme, bạn sẽ phải copy/paste code tùy chỉnh của mình vào theme mới.

Phải nói rằng, dưới đây là một số thủ thuật cực kỳ hữu ích cho functions.php WordPress.

32 thủ thuật cực kỳ hữu ích cho file Functions WordPress

1. Xóa số phiên bản WordPress

Bạn nên luôn sử dụng phiên bản mới nhất của WordPress. Tuy nhiên, bạn vẫn có thể muốn xóa số phiên bản WordPress khỏi trang web của mình. Chỉ cần thêm đoạn code này vào functions.php của bạn.

function wpb_remove_version() {
return '';
}
add_filter('the_generator', 'wpb_remove_version');

Để biết thêm chi tiết, hãy xem hướng dẫn của chúng tôi về xóa số phiên bản WordPress cách đúng.

Trước tiên, bạn sẽ cần upload logo tùy chỉnh của bạn lên thư mục hình ảnh của theme dưới dạng custom-logo.png. Hãy đảm bảo logo tùy chỉnh của bạn có kích thước 16 × 16 pixel.

Sau đó, bạn có thể thêm code này vào functions.php của theme.

function wpb_custom_logo() {
echo '
<style type="text/css">
#wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon:before {
background-image: url(' . get_bloginfo('stylesheet_directory') . '/images/custom-logo.png) !important;
background-position: 0 0;
color:rgba(0, 0, 0, 0);
}
#wpadminbar #wp-admin-bar-wp-logo.hover > .ab-item .ab-icon {
background-position: 0 0;
}
</style>
';
}
//hook into the administrative header output
add_action('wp_before_admin_bar_render', 'wpb_custom_logo');

Để biết thêm chi tiết cũng như các phương pháp thay thế khác, hãy xem hướng dẫn của chúng tôi về cách thêm logo tùy chỉnh vào dashboard WordPress .

Bạn có thể thay đổi thông báo ‘Thank you for creating with WordPress’ ở Footer trong WordPress admin thành bất cứ điều gì bạn muốn bằng cách thêm code này.

function remove_footer_admin () {
 
echo 'Fueled by <a href="http://www.wordpress.org" target="_blank">WordPress</a> | WordPress Tutorials: <a href="https://www.wpbeginner.com" target="_blank">WPBeginner</a></p>';
 
}
 
add_filter('admin_footer_text', 'remove_footer_admin');

Cứ thoải mái thay đổi văn bản và link theo ý bạn nhé. Còn đây là kết quả thử nghiệm của chúng tôi.

4. Thêm các Dashboard Widget tùy chỉnh trong WordPress

Bạn có thể đã thấy các widget do các plugin và theme thêm vào trong WordPress dashboard. Bạn cũng có thể tự thêm widget tùy chỉnh bằng cách dán đoạn code sau:

add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');
 
function my_custom_dashboard_widgets() {
global $wp_meta_boxes;
 
wp_add_dashboard_widget('custom_help_widget', 'Theme Support', 'custom_dashboard_help');
}
 
function custom_dashboard_help() {
echo '<p>Welcome to Custom Blog Theme! Need help? Contact the developer <a href="mailto:yourusername@gmail.com">here</a>. For WordPress Tutorials visit: <a href="https://www.wpbeginner.com" target="_blank">WPBeginner</a></p>';
}

Và đây là kết quả:

Để biết thêm chi tiết, hãy xem hướng dẫn của chúng tôi về cách thêm các Dashboard Widget trong WordPress .

5. Thay đổi Gravatar mặc định trong WordPress

Bạn đã bao giờ thấy avatar người đàn ông bí ẩn mặc định trên blog chưa? Bạn có thể dễ dàng thay thế nó bằng avatar tùy chỉnh thương hiệu của riêng bạn. Chỉ cần upload hình ảnh bạn muốn sử dụng làm hình đại diện mặc định và sau đó thêm code này vào file functions.php.

add_filter( 'avatar_defaults', 'wpb_new_gravatar' );
function wpb_new_gravatar ($avatar_defaults) {
$myavatar = 'http://example.com/wp-content/uploads/2017/01/wpb-default-gravatar.png';
$avatar_defaults[$myavatar] = "Default Gravatar";
return $avatar_defaults;
}

Bây giờ bạn có thể đi đến Settings » Discussion và chọn hình đại diện mặc định của bạn.

Để biết thêm chi tiết, hãy xem hướng dẫn của chúng tôi về cách thay đổi gravatar mặc định trong WordPress .

6. Thêm Dynamic Copyright Date trong WordPress Footer

Một cách đơn giản để bạn thêm copyright date là chỉnh sửa footer template trong theme của mình. Tuy nhiên, cách đó sẽ không hiển thị thời điểm khởi đầu của trang web và nó cũng không tự động thay đổi vào năm tới.

Bạn có thể sử dụng code này để thêm dynamic copyright date trong WordPress footer.

function wpb_copyright() {
global $wpdb;
$copyright_dates = $wpdb->get_results("
SELECT
YEAR(min(post_date_gmt)) AS firstdate,
YEAR(max(post_date_gmt)) AS lastdate
FROM
$wpdb->posts
WHERE
post_status = 'publish'
");
$output = '';
if($copyright_dates) {
$copyright = "© " . $copyright_dates[0]->firstdate;
if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) {
$copyright .= '-' . $copyright_dates[0]->lastdate;
}
$output = $copyright;
}
return $output;
}

Sau khi thêm tính năng này, bạn nên mở file footer.php, thêm code sau vào bất cứ nơi nào bạn muốn để hiển thị dynamic copyright date:

<?php echo wpb_copyright(); ?>

Tính năng này cũng tìm ngày của bài đăng đầu tiên và ngày của bài đăng cuối cùng. Sau đó nó hiển thị khoảng thời gian các năm ở nơi mà bạn đã dùng tính năng để tìm.

Để biết thêm chi tiết, hãy xem hướng dẫn của chúng tôi về cách thêm Dynamic Copyright Date trong WordPress .

7. Thay đổi màu Background ngẫu nhiên trong WordPress

Bạn có muốn thay đổi ngẫu nhiên màu background trên WordPress của mình sau mỗi lần truy cập và tải lại trang không? Dưới đây là cách dễ dàng để thực hiện.

Trước tiên, bạn cần thêm code này vào functions.php của theme.

function wpb_bg() { 
$rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
$color ='#'.$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].
$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];
echo $color;
}

Tiếp theo, bạn sẽ cần chỉnh sửa file header.php trong theme của mình. Xác định vị trí thẻ<body>và thêm thay thế nó bằng dòng này:

<body <?php body_class(); ?> style="background-color:<?php wpb_bg();?>">>

Bây giờ bạn có thể lưu lại và truy cập website để xem kết quả.

Click thay đổi ngẫu nhiên màu Background trong WordPress để xem thêm chi tiết cũng như các phương pháp khác.

8. Cập nhật URL WordPress

Nếu trang đăng nhập WordPress bị refresh liên tục hoặc bạn không thể truy cập admin, có thể bạn cần cập nhật URL WordPress.

Để thực hiện thao tác này, bạn có thể sử dụng file wp-config.php . Tuy nhiên, nếu bạn làm điều đó, bạn sẽ không thể thiết lập địa chỉ chính xác trên trang cài đặt. Các trường WordPress URL và Site URL sẽ bị khóa và không thể chỉnh sửa.

Nếu muốn sửa lỗi này, bạn nên thêm code dưới đây vào functions.php.

update_option( 'siteurl', 'http://example.com' );
update_option( 'home', 'http://example.com' );

Đừng quên thay thế example.com bằng tên miền của riêng bạn.

Khi đã đăng nhập được, bạn có thể truy cập Settings và thiết lập URL ở đó. Sau đó, bạn nên xóa code bạn đã thêm vào functions.php. Nếu không, các URL đó sẽ tiếp tục cập nhật cứ mỗi lần trang web của bạn được truy cập.

9. Thêm kích thước hình ảnh bổ sung trong WordPress

WordPress tự động tạo một số kích thước hình ảnh khi bạn upload một hình ảnh. Bạn cũng có thể tạo các kích thước hình ảnh bổ sung để sử dụng trong theme của mình. Thêm code này file functions.php của theme.

add_image_size( 'sidebar-thumb', 120, 120, true ); // Hard Crop Mode
add_image_size( 'homepage-thumb', 220, 180 ); // Soft Crop Mode
add_image_size( 'singlepost-thumb', 590, 9999 ); // Unlimited Height Mode

Code này sẽ tạo ra 3 hình ảnh mới với các kích cỡ khác nhau. Hãy thoải mái tinh chỉnh code để đáp ứng yêu cầu của riêng bạn.

Bạn có thể cho hiển thị một kích thước hình ảnh ở bất cứ đâu trong theme bằng code dưới đây.

<?php the_post_thumbnail( 'homepage-thumb' ); ?>

Để biết chi tiết, hãy xem hướng dẫn của chúng tôi về cách tạo kích thước hình ảnh bổ sung trong WordPress.

10. Thêm Navigation Menus mới vào theme của bạn

WordPress cho phép các developer theme xác định navigation menus và sau đó hiển thị chúng. Thêm code này vào file functions.php của theme để xác định vị trí menu mới trong theme của bạn.

function wpb_custom_new_menu() {
  register_nav_menu('my-custom-menu',__( 'My Custom Menu' ));
}
add_action( 'init', 'wpb_custom_new_menu' );

Bây giờ bạn có thể đi đến Appearance » Menus và bạn sẽ thấy ‘My Custom Menu’ ở tùy chọn Theme locations.

Tiếp theo bạn cần thêm code dưới đây vào theme ở nơi bạn muốn hiển thị navigation menu.

<?php
wp_nav_menu( array( 
    'theme_location' => 'my-custom-menu', 
    'container_class' => 'custom-menu-class' ) ); 
?>

Để biết chi tiết, hãy xem hướng dẫn của chúng tôi về cách thêm navigation menu tùy chỉnh trong theme WordPress.

11. Thêm trường Author Profile

Bạn có muốn thêm các trường bổ sung vào author profiles trong WordPress không? Bạn có thể dễ dàng làm điều đó bằng cách thêm đoạn code sau vào functions.php:

function wpb_new_contactmethods( $contactmethods ) {
// Add Twitter
$contactmethods['twitter'] = 'Twitter';
//add Facebook
$contactmethods['facebook'] = 'Facebook';
 
return $contactmethods;
}
add_filter('user_contactmethods','wpb_new_contactmethods',10,1);

Code này sẽ thêm các trường Twitter và Facebook vào profile người dùng trong WordPress.

Bây giờ bạn có thể hiển thị các trường này trong author template như sau:

<?php echo $curauth->twitter; ?>

Có thể bạn cũng muốn xem hướng dẫn của chúng tôi về cách thêm các trường vào profile của user trong WordPress.

12. Thêm Widget Ready Areas hoặc Sidebar vào theme WordPress

Thủ thuật này thì hầu như developer nào cũng đã biết. Nhưng nó xứng đáng nằm trong danh sách này cho những người không biết. Dán đoạn code sau vào file functions.php của bạn:

// Register Sidebars
function custom_sidebars() {
 
    $args = array(
        'id'            => 'custom_sidebar',
        'name'          => __( 'Custom Widget Area', 'text_domain' ),
        'description'   => __( 'A custom widget area', 'text_domain' ),
        'before_title'  => '<h3 class="widget-title">',
        'after_title'   => '</h3>',
        'before_widget' => '<aside id="%1$s" class="widget %2$s">',
        'after_widget'  => '</aside>',
    );
    register_sidebar( $args );
 
}
add_action( 'widgets_init', 'custom_sidebars' );

Bây giờ bạn có thể truy cập Appearance » Widgets và bạn sẽ thấy widget area tùy chỉnh mới của mình.

Để hiển thị sidebar này hoặc widget ready area trong theme của bạn, hãy thêm code này:

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('custom_sidebar') ) : ?>
<!–Default sidebar info goes here–>
<?php endif; ?>

Để biết thêm chi tiết, hãy xem hướng dẫn của chúng tôi về cách thêm các Dynamic Widget Ready area và Sidebar trong WordPress .

13. Điều chỉnh RSS Feed Footer

Chắc hẳn bạn đã thấy các blog thêm quảng cáo vào RSS Feed bên dưới mỗi bài đăng. Bạn có thể dễ dàng thực hiện điều này bằng cách dán đoạn code sau vào file functions.php:

function wpbeginner_postrss($content) {
if(is_feed()){
$content = 'This post was written by Syed Balkhi '.$content.'Check out WPBeginner';
}
return $content;
}
add_filter('the_excerpt_rss', 'wpbeginner_postrss');
add_filter('the_content', 'wpbeginner_postrss');

Để biết thêm thông tin, hãy xem hướng dẫn của chúng tôi về cách điều chỉnh và thêm content vào RSS Feed của bạn .

14. Thêm Featured Images vào RSS Feeds

Thumbnail hoặc featured images của bài viết thường chỉ được hiển thị bên trong trang web của bạn. Bạn có thể dễ dàng mở rộng chức năng đó sang RSS Feed của mình bằng cách thêm đoạn code sau:

function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '<p>' . get_the_post_thumbnail($post->ID) .
'</p>' . get_the_content();
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');

Để biết thêm chi tiết, hãy xem hướng dẫn của chúng tôi về cách thêm thumbnail của bài viết vào RSS Feed của WordPress .

15. Ẩn lỗi đăng nhập trong WordPress

Lỗi đăng nhập trong WordPress có thể được hacker sử dụng để đoán xem họ đã nhập sai username hay password. Bằng cách ẩn các lỗi đăng nhập trong WordPress, bạn có thể làm cho khu vực đăng nhập của mình an toàn hơn một chút.

function no_wordpress_errors(){
  return 'Something is wrong!';
}
add_filter( 'login_errors', 'no_wordpress_errors' );

Bây giờ người dùng chỉ nhìn thấy một thông báo chung chung khi họ nhập username hay password không chính xác.

Để biết thêm thông tin, hãy xem hướng dẫn của chúng tôi về cách tắt gợi ý trong thông báo lỗi đăng nhập WordPress .

16. Vô hiệu hóa Đăng nhập bằng Email trong WordPress

WordPress cho phép người dùng đăng nhập bằng username hoặc địa chỉ email. Bạn có thể dễ dàng vô hiệu hóa đăng nhập bằng email trong WordPress bằng cách thêm code này vào file functions.php.

remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );

Để biết thêm thông tin, hãy xem hướng dẫn của chúng tôi về cách vô hiệu hóa tính năng đăng nhập bằng email trong WordPress.

17. Vô hiệu hóa tính năng tìm kiếm trong WordPress

Nếu bạn muốn tắt tính năng tìm kiếm trên trang web WordPress, bạn chỉ cần thêm code này vào functions.php.

function fb_filter_query( $query, $error = true ) {
 
if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;
 
// to error
if ( $error == true )
$query->is_404 = true;
}
}
 
add_action( 'parse_query', 'fb_filter_query' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );

Để biết thêm thông tin, hãy xem hướng dẫn của chúng tôi về cách tắt tính năng tìm kiếm trong WordPress.

18. Trì hoãn các bài đăng trong RSS Feed

Đôi khi bạn hoàn thành bài viết nhưng mắc một vài lỗi ngữ pháp hoặc chính tả. Lỗi này tồn tại và được phân phối cho những người đăng ký RSS Feed của bạn. Nếu bạn có email subscriptions trên blog WordPress của mình, những người đăng ký đó cũng sẽ nhận được nó.

Chỉ cần thêm code này vào functions.php của theme.

function publish_later_on_feed($where) {
 
    global $wpdb;
 
    if ( is_feed() ) {
        // timestamp in WP-format
        $now = gmdate('Y-m-d H:i:s');
 
        // value for wait; + device
        $wait = '10'; // integer
 
        // http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
        $device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
 
        // add SQL-sytax to default $where
        $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
    }
    return $where;
}
 
add_filter('posts_where', 'publish_later_on_feed');

Trong đoạn code này, chúng tôi đã thiết lập thời gian trì hoãn là 10 phút ở $wait. Hãy thoải mái thay đổi thành bất kỳ số phút nào bạn muốn.

Xem hướng dẫn chi tiết của chúng tôi về cách trì hoãn các bài đăng xuất hiện trong RSS Feed của WordPress để biết thêm thông tin cũng như phương pháp thay thế bằng plugin.

19. Thay đổi từ Read more cho đoạn trích trong WordPress

Bạn đang muốn thay đổi cụm từ Read more sau các đoạn trích? Đơn giản lắm, bạn chỉ cần thêm code này vào functions.php của theme.

function modify_read_more_link() {
    return '<a class="more-link" href="' . get_permalink() . '">Your Read More Link Text</a>';
}
add_filter( 'the_content_more_link', 'modify_read_more_link' );

20. Vô hiệu hóa RSS Feed trong WordPress

Không phải tất cả các trang web cần RSS Feed. Nếu bạn muốn tắt RSS Feed trên trang web WordPress của mình thì hãy thêm code này vào functions.php của theme.

function fb_disable_feed() {
wp_die( __('No feed available,please visit our <a href="'. get_bloginfo('url') .'">homepage</a>!') );
}
 
add_action('do_feed', 'fb_disable_feed', 1);
add_action('do_feed_rdf', 'fb_disable_feed', 1);
add_action('do_feed_rss', 'fb_disable_feed', 1);
add_action('do_feed_rss2', 'fb_disable_feed', 1);
add_action('do_feed_atom', 'fb_disable_feed', 1);

Hãy xem hướng dẫn của chúng tôi về cách tắt RSS Feed trong WordPress để biết thêm thông tin cũng như phương pháp thay thế bằng plugin.

21. Thay đổi độ dài đoạn trích trong WordPress

WordPress giới hạn độ dài đoạn trích đến 55 từ. Nếu bạn cần thay đổi điều đó thì bạn có thể thêm code này vào functions.php.

function new_excerpt_length($length) {
return 100;
}
add_filter('excerpt_length', 'new_excerpt_length');

Thay đổi 100 thành số lượng từ bạn muốn hiển thị trong đoạn trích.

Bạn có thể muốn xem một số phương pháp khác trong bài viết cách tùy chỉnh các trích đoạn WordPress (không cần dùng code).

22. Thêm một tài khoản Admin trong WordPress

Nếu bạn quên email và password WordPress, bạn có thể thêm tài khoản admin bằng cách thêm code này vào functions.php của theme qua FTP client.

function wpb_admin_account(){
$user = 'Username';
$pass = 'Password';
$email = 'email@domain.com';
if ( !username_exists( $user )  && !email_exists( $email ) ) {
$user_id = wp_create_user( $user, $pass, $email );
$user = new WP_User( $user_id );
$user->set_role( 'administrator' );
} }
add_action('init','wpb_admin_account');

Đừng quên điền các trường username, password và email. Một khi bạn đã đăng nhập vào trang web WordPress của mình, đừng quên xóa code khỏi functions.php của bạn.

Để biết thêm về topic này, hãy xem hướng dẫn của chúng tôi về cách thêm tài khoản admin trong WordPress bằng FTP.

23. Xóa Welcome Panel khỏi WordPress Dashboard

Welcome Panel là một meta box được thêm vào màn hình dashboard của admin WordPress. Welcome Panel cung cấp các shortcut hữu ích cho người mới bắt đầu để làm việc trên trang web WordPress của họ.

Bạn có thể dễ dàng ẩn nó đi bằng cách thêm code này vào functions.php.

remove_action('welcome_panel', 'wp_welcome_panel');

Hãy xem bài viết xóa Welcome Panel trong WordPress Dashboard để biết thêm chi tiết cũng như một sốt phương pháp khác.

24. Hiển thị tổng số User đã đăng ký trong WordPress

Bạn đang muốn hiển thị tổng số user đã đăng ký trên website WordPress của mình? Đơn giản chỉ cần thêm code này vào functions.php:

// Function to return user count
function wpb_user_count() { 
$usercount = count_users();
$result = $usercount['total_users']; 
return $result; 
} 
// Creating a shortcode to display user count
add_shortcode('user_count', 'wpb_user_count');

Đoạn code này tạo một shortcode cho phép bạn hiển thị tổng số user đã đăng ký trên trang web của bạn. Bây giờ bạn chỉ cần thêm shortcode [user_count] vào bài đăng hoặc trang mà bạn muốn hiển thị tổng số user.

Để biết thêm thông tin và phương pháp sử dụng plugin, hãy xem hướng dẫn của chúng tôi về cách hiển thị tổng số user đã đăng ký trong WordPress .

25. Loại trừ các Category cụ thể khỏi RSS Feed

Bạn muốn loại trừ các category cụ thể khỏi RSS Feed WordPress của mình? Thêm code này vào file functions.php:

function exclude_category($query) {
    if ( $query->is_feed ) {
        $query->set('cat', '-5, -2, -3');
    }
return $query;
}
add_filter('pre_get_posts', 'exclude_category');

26. Bật thực thi Shortcode trong các Text Widgets

Theo mặc định, WordPress không thực thi các shortcode bên trong các text widget. Để khắc phục điều này, bạn chỉ cần thêm code này vào functions.php của theme.

// Enable shortcodes in text widgets
add_filter('widget_text','do_shortcode');

Xem hướng dẫn của chúng tôi về cách sử dụng Shortcode trong các sidebar widget WordPress để biết thêm thông tin và phương pháp thay thế khác.

27. Thêm class odd/even vào bài viết WordPress

Bạn có thể đã thấy các theme WordPress sử dụng class odd hoặc even cho các bình luận. Nhờ đó, người dùng hình dung được nơi một bình luận kết thúc và một bình luận tiếp theo bắt đầu.

Bạn có thể sử dụng kỹ thuật tương tự cho các bài đăng WordPress của mình. Website bạn trông sẽ thẩm mỹ hơn và giúp người dùng nhanh chóng scan được các trang có nhiều content. Chỉ cần thêm code này vào functions.php của theme.

function oddeven_post_class ( $classes ) {
   global $current_class;
   $classes[] = $current_class;
   $current_class = ($current_class == 'odd') ? 'even' : 'odd';
   return $classes;
}
add_filter ( 'post_class' , 'oddeven_post_class' );
global $current_class;
$current_class = 'odd';

Đoạn code này chỉ đơn giản là thêm class odd hoặc even vào bài viết WordPress. Bây giờ bạn có thể thêm CSS tùy chỉnh để tạo các style khác nhau. Đây là một code mẫu để giúp bạn bắt đầu.

.even {
background:#f0f8ff;  
} 
.odd {
 background:#f4f4fb;
}

Kết quả cuối cùng sẽ trông giống như thế này:

Nếu bạn cần hướng dẫn chi tiết hơn thì hãy xem hướng dẫn của chúng tôi về cách thêm class odd/even vào bài đăng của bạn trong các theme WordPress.

28. Thêm các kiểu file được upload trong WordPress

Theo mặc định, WordPress giới hạn chỉ một số kiểu file phổ biến được upload. Tuy nhiên, bạn vẫn có thể mở rộng giới hạn này cho các loại file khác. Thêm code này vào file functions.php của theme:

function my_myme_types($mime_types){
    $mime_types['svg'] = 'image/svg+xml'; //Adding svg extension
    $mime_types['psd'] = 'image/vnd.adobe.photoshop'; //Adding photoshop files
    return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);

Đoạn code này cho phép bạn tải các file SVG và PSD lên WordPress. Bạn cần tra Google để tìm ra các mime types cho các loại file bạn muốn rồi áp dụng tương tự.

Để biết thêm về topic này, hãy xem hướng dẫn của chúng tôi về cách thêm các kiểu file được upload trong WordPress .

Theo mặc định, khi bạn tải lên một hình ảnh trong WordPress, nó sẽ tự động được liên kết với file hình ảnh hoặc trang đính kèm. Nếu người dùng click vào hình ảnh, họ sẽ được đưa đến một trang mới từ bài đăng của bạn.

Dưới đây là cách bạn có thể dễ dàng ngăn WordPress tự động liên kết hình ảnh được upload. Tất cả những gì bạn phải làm là thêm đoạn code này vào functions.php của bạn:

function wpb_imagelink_setup() {
    $image_set = get_option( 'image_default_link_type' );
     
    if ($image_set !== 'none') {
        update_option('image_default_link_type', 'none');
    }
}
add_action('admin_init', 'wpb_imagelink_setup', 10);

Bây giờ khi bạn upload một hình ảnh mới trong WordPress, nó sẽ không được liên kết tự động. Bạn vẫn có thể liên kết hình ảnh với file hoặc trang đính kèm nếu bạn muốn.

Xem hướng dẫn của chúng tôi về cách xóa liên kết hình ảnh mặc định trong WordPress để biết thêm thông tin và phương pháp sử dụng plugin.

30. Thêm một Author Info Box trong bài viết WordPress

Nếu bạn vận hành một trang web có nhiều tác giả và muốn giới thiệu tiểu sử tác giả ở cuối bài viết của mình thì bạn có thể thử phương pháp này. Đầu tiên thêm code này vào file functions.php:

function wpb_author_info_box( $content ) {
 
global $post;
 
// Detect if it is a single post with a post author
if ( is_single() && isset( $post->post_author ) ) {
 
// Get author's display name 
$display_name = get_the_author_meta( 'display_name', $post->post_author );
 
// If display name is not available then use nickname as display name
if ( empty( $display_name ) )
$display_name = get_the_author_meta( 'nickname', $post->post_author );
 
// Get author's biographical information or description
$user_description = get_the_author_meta( 'user_description', $post->post_author );
 
// Get author's website URL 
$user_website = get_the_author_meta('url', $post->post_author);
 
// Get link to the author archive page
$user_posts = get_author_posts_url( get_the_author_meta( 'ID' , $post->post_author));
  
if ( ! empty( $display_name ) )
 
$author_details = '<p class="author_name">About ' . $display_name . '</p>';
 
if ( ! empty( $user_description ) )
// Author avatar and bio
 
$author_details .= '<p class="author_details">' . get_avatar( get_the_author_meta('user_email') , 90 ) . nl2br( $user_description ). '</p>';
 
$author_details .= '<p class="author_links"><a href="'. $user_posts .'">View all posts by ' . $display_name . '</a>';  
 
// Check if author has a website in their profile
if ( ! empty( $user_website ) ) {
 
// Display author website link
$author_details .= ' | <a href="' . $user_website .'" target="_blank" rel="nofollow">Website</a></p>';
 
} else { 
// if there is no author website then just close the paragraph
$author_details .= '</p>';
}
 
// Pass all this info to post content  
$content = $content . '<footer class="author_bio_section" >' . $author_details . '</footer>';
}
return $content;
}
 
// Add our function to the post content filter 
add_action( 'the_content', 'wpb_author_info_box' );
 
// Allow HTML in author bio section 
remove_filter('pre_user_description', 'wp_filter_kses');

Tiếp theo, bạn sẽ cần thêm một số CSS tùy chỉnh để trông đẹp hơn. Bạn có thể dùng CSS mẫu dưới đây.

.author_bio_section{
background: none repeat scroll 0 0 #F5F5F5;
padding: 15px;
border: 1px solid #ccc;
}
 
.author_name{
font-size:16px;
font-weight: bold;
}
 
.author_details img {
border: 1px solid #D8D8D8;
border-radius: 50%;
float: left;
margin: 0 10px 10px 0;
}

Author box của bạn sẽ trông như này:

Xem bài viết cách thêm author box trong các bài đăng WordPress để biết thêm chi tiết và phương pháp dùng plugin.

31. Vô hiệu hóa XML-RPC trong WordPress

XML-RPC là một phương pháp cho phép các ứng dụng của bên thứ ba giao tiếp với trang web WordPress của bạn từ xa. Điều này có thể gây ra các vấn đề bảo mật và bị hacker khai thác.

Chỉ cần thêm code này vào functions.php của bạn để tắt XML-RPC trong WordPress:

add_filter('xmlrpc_enabled', '__return_false');

Bạn có thể đọc bài viết của chúng tôi về cách vô hiệu hóa XML-RPC trong WordPress để biết thêm thông tin.

32. Tự động liên kết Featured Images với bài viết

Nếu theme WordPress của bạn không tự động liên kết featured image với các bài viết đầy đủ, bạn có thể thử phương pháp này. Chỉ cần thêm code này vào file functions.php của theme.

function wpb_autolink_featured_images( $html, $post_id, $post_image_id ) {
 
If (! is_singular()) { 
     
$html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_the_title( $post_id ) ) . '">' . $html . '</a>';
return $html;
 
} else { 
 
return $html;
 
}
 
}
add_filter( 'post_thumbnail_html', 'wpb_autolink_featured_images', 10, 3 );

Có thể bạn muốn xem thêm bài viết của chúng tôi về cách tự động liên kết Featured Images với các bài đăng trong WordPress .

Chúng tôi hy vọng bài viết này đã giúp bạn tìm hiểu một số thủ thuật hữu ích mới với file functions.php trong WordPress. Bạn cũng có thể muốn xem hướng dẫn của chúng tôi về tăng tốc độ và hiệu suất WordPress.

Nếu bạn thích bài viết này, hãy đăng ký Kênh YouTube của chúng tôi để xem video hướng dẫn. Bạn cũng có thể tìm thấy chúng tôi trên Twitter và Facebook.