File Functions trong WordPress và những thủ thuật cần biết

10

File Functions trong WordPress ở đâu bạn có biết không ?  Nếu bạn chưa biết thì tất cả các Theme WordPress đều có một file Functions.php đấy. Tập tin này hoạt động như một plugin và cho phép bạn làm được nhiều điều thú vị trên trang web WordPress. Trong bài viết này, mình sẽ chỉ cho bạn một số thủ thuật hữu ích nhất cho File Functions trong website WordPress của bạn.

File Functions trong WordPress và những thủ thuật cần biết

File Functions trong WordPress và những thủ thuật cần biết File Functions trong WordPress - File Functions trong WordPress và những thủ thuật cần biết
File Functions trong WordPress và những thủ thuật cần biết

File Functions trong WordPress là gì ?

File Functions trong WordPress được hiểu ngầm như là một tập tin thực thi một số hàm đặc biệt thêm vào theme để có thể thêm nhiều tính năng hay hơn. Tập tin 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 mã tùy chỉnh của riêng bạn như tạo sidebar, menu, thêm size ảnh cho đến các bước phức tạp khác thì bạn phải làm trong file functions.php này mà không thể làm ở một file nào khác, nếu có thì cũng phải include vào. Trên nhiều bài viết tại Blog Lại Văn Đức mình cũng có hướng dẫn các bạn thêm các đoạn code trong file functions này.

Nên Xem: Cách tạo Child Theme

Cách chèn các đoạn Code mình chia sẻ bên dưới và trong file như sau:

Cách 1: Bạn truy cập vào Appearance > Editor > Tìm file functions.php và chèn code vào dưới cùng.

File Functions trong WordPress và những thủ thuật cần biết File Functions trong WordPress - File Functions trong WordPress và những thủ thuật cần biết
File Functions trong WordPress và những thủ thuật cần biết

Cách 2: Mở filezilla ra > Tìm tới file functions.php trong thư mục Theme bạn đang sử dụng. Chọn sửa bằng notepad ++ hoặc bất cứ chương trình viết Code nào đó mà bạn đang sử dụng sau đó chèn vào dưới cùng > Lưu lại.

Để tận dụng được File Functions trong WordPress, ngay bên dưới mình sẽ giới thiệu tới các bạn một số đoạn Code hữu ích mà có thể bạn sẽ cần dùng tới trong hiện tại và tương lai.

Ẩn WordPress Version

Đây là một chức năng hay để bạn thêm phần bảo mật cho website của mình. Ẩn đi phiên bản của WordPress giúp kẻ phá hoại khó khăn hơn khi cố gắng tấn công vào website của mình.

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

Thêm Logo trong Admin WordPress

Bạn có muốn thêm Logo của mình trong Admin WordPress không. Hãy sử dụng đoạn code dưới đây và nhớ thay link hình ảnh. Đừng quên kích thước Logo là 20×20 px nhé.

function wpb_custom_logo() {
echo '
<style type="text/css">
#wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon:before {
background-image: url(/wp-content/uploads/2017/02/admin-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');

Đây là cách đoạn code bên trên hoạt động.

File Functions trong WordPress và những thủ thuật cần biết File Functions trong WordPress - File Functions trong WordPress và những thủ thuật cần biết
File Functions trong WordPress và những thủ thuật cần biết

Thay đổi Footer trong Admin WordPress

Mặc định trong Admin bạn sẽ thấy dòng chữ “Thank you for creating with WordPress.” Đối với tiếng Việt là “Cảm ơn bạn đã khởi tạo với WordPress.” . Bạn có thể thay đổi dòng chữ đó thành bất cứ điều gì bạn muốn bằng cách thêm mã này.

function remove_footer_admin () {

echo 'Fueled by <a href="http://www.wordpress.org" target="_blank">WordPress</a> | WordPress Tutorials: <a href="http://www.laivanduc.com" target="_blank">laivanduc.com</a></p>';

}

add_filter('admin_footer_text', 'remove_footer_admin');
File Functions trong WordPress và những thủ thuật cần biết File Functions trong WordPress - File Functions trong WordPress và những thủ thuật cần biết
File Functions trong WordPress và những thủ thuật cần biết

Thêm một Widgets thông báo trong Dashboard 

Nếu bạn là một nhà phát triển Website WordPress, một nhà thiết kế website bằng WordPress thì bạn sẽ cần tới đoạn code này vì nó sẽ giúp bạn thêm một bảng thông báo ngay trong Dashboard để khách hàng có thể nhìn thấy.

function my_custom_dashboard_widgets() {
global $wp_meta_boxes;

wp_add_dashboard_widget('custom_help_widget', 'Hỗ Trợ Kỹ Thuật', 'custom_dashboard_help');
}

function custom_dashboard_help() {
echo '<p>Chào mừng quý khách đã đến với khu vực quản trị website. Mọi thông tin cần hỗ trợ vui lòng liên hệ với chúng tôi <a href="http://www.laivanduc.com/lien-he">tại đây</a>. Bạn cũng có thể xem các thủ thuật WordPress tại: <a href="http://www.laivanduc.com/lien-he" target="_blank">Lại Văn Đức Blog</a></p>';
}
File Functions trong WordPress và những thủ thuật cần biết File Functions trong WordPress - File Functions trong WordPress và những thủ thuật cần biết
File Functions trong WordPress và những thủ thuật cần biết

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

Trong Settings > Discussion bạn sẽ thấy biểu tượng mặc định của WordPress có tên là Người Bí Ẩn “Mystery Person“. Để thay thế hình ảnh người bí ẩn này bạn hãy sử dụng đoạn Code bên dưới và cho 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;
}

Thay đổi Background ngẫu nhiên trong WordPress

Bạn có muốn thay đổi ngẫu nhiên màu nền trên website WordPress của bạn theo mỗi lần tải lại trang không ? Dưới đây là đoạn Code giúp bạn thực hiện điều đó. Trước tiên, bạn cần phải thêm đoạn code này vào file functions.php trong theme của bạn.

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 phải chỉnh sửa file header.php trong Theme của bạn. Xác định vị trí thẻ <body> thẻ và thay thế nó bằng dòng này:

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

Thêm kích thước hình ảnh trong WordPress

Mặc định, WordPress có cắt ra một số kích thước khi bạn tải một hình ảnh lên website. Để biết kích thước mặc định, bạn hãy truy cập Settings > Media là bạn sẽ thấy. Nếu như nhu cầu của bạn khác với mặc định, hãy sử dụng đoạn code bên dưới và thay thành thông số của bạn.

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

Để sử dụng, bạn hãy dùng đoạn code này cho bất cứ nơi nào bạn muốn hiển thị.

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

Thêm Navigation Menus

Mặc định, Theme bạn đang sử dụng có thể có 1 hoặc 2 hay thậm chí là 3 nơi hiển thị Menu. Nhưng nếu bạn vẫn thấy thiếu thì hãy sử dụng đoạn code dưới đây.

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

Sau đó bạn cần phải thêm mã này vào chủ đề của bạn, nơi bạn muốn hiển thị menu mới thêm.

<?php
wp_nav_menu( array( 
    'theme_location' => 'my-custom-menu', 
    'container_class' => 'custom-menu-class' ) ); 
?>
File Functions trong WordPress và những thủ thuật cần biết File Functions trong WordPress - File Functions trong WordPress và những thủ thuật cần biết
File Functions trong WordPress và những thủ thuật cần biết

Thêm hình ảnh nổi bật trong RSS Feeds

Mặc định các bài viết trong RSS mà người dùng nhìn thấy chỉ có tiêu đề và đoạn mô tả ngắn. Để thêm ảnh đại diện, bạn hãy dùng đoạn Code bên dưới.

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');

Vô hiệu hoá nhập bằng email trong WordPress

WordPress cho phép người dùng đăng nhập với tên truy cập 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 đoạn Code này vào file functions.php trong theme của bạn.

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

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

Không biết bạn có cần đoạn Code này hay không, nhưng biết đâu đấy có lúc cần đến.

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;" ) );

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

Nếu bạn quên tài khoản hoặc mật khẩu truy cập website và bạn cũng không vào database để đổi lại pass được. Nhưng nếu đời còn may mắn là bạn vẫn có thể truy cập vào FTP bằng Filezilla thì bạn hãy thêm đoạn code này vào file functions.php và đừng quên đổi lại thông tin user cũ của bạn và xóa đoạn này khi bạn đã đăng nhập được bằng tài khoản cũ.

function wpb_admin_account(){
$user = 'Username';
$pass = 'Password';
$email = '[email protected]';
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');

Sử dụng Shortcode trong Text Widgets

Mặc định WordPress không cho phép bạn sử dụng Shortcode trong Widgets. Nếu muốn thì bạn phải dùng Plugin, nhưng thời thế thay đổi rồi. Chỉ cần đoạn Code này là bạn dùng Shortcode thoải mái.

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

Thêm loại loại File được tải lên vào WordPress

Theo mặc định, WordPress cho phép bạn tải lên một số lượng hạn chế của các loại tập tin thường được sử dụng nhất. Tuy nhiên, bạn có thể mở rộng nó để cho phép các loại tập tin khác bằng cách thêm đoạn Code này vào functions

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 trên cho phép bạn tải lên SVG và tập tin PSD cho WordPress. Để tải lên các định dạng khác, bạn hãy truy cập vào MIME Types List để xem chi tiết các thể loại tập tin và sử dụng chúng bằng cách thêm vào đoạn code bên trên.

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 đề an ninh và có thể bị khai thác bởi hacker. Đơn giản chỉ cần thêm code này vào file functions.php để tắt XML-RPC trong WordPress:

add_filter('xmlrpc_enabled', '__return_false');

Thế thôi

Các thủ thuật WordPress sử dụng file functions có rất nhiều. Trong bài viết này mình chỉ giới thiệu một số chức năng nổi bật và hay sử dụng để các bạn tiện theo dõ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 cho File Functions trong WordPress. Chúc các bạn thành công.

10 Comments
  1. Luc nói

    Anh Đức mình muốn bỏ cái thanh sub manu thì mình làm cách nào anh. Thanks anh

    1. Lại Văn Đức nói

      sub manu mà bạn nói nó ở chỗ nào vậy./

  2. Minh Khanh nói

    hay quá, cám ơn bác

  3. Duong Loc nói

    Quá hay cảm ơn bác nha. Đúng cái đang cần 😀

  4. Doãn Bắc Tâm nói

    Dành cho newbie tuyệt vời

  5. Văn Luận nói

    Mình thì copy rồi paste qua cho lẹ hehe

  6. tuan nói

    anh dùng plugin gi de tao form thu thap email luc moi vào website nó hiện ý anh?

    1. Lại Văn Đức nói

      Chào bạn. Bạn có thể sử dụng các Plugin này: https://wordpress.org/plugins/wordpress-popup/

  7. Trân nói

    Bạn ơi cho mình hỏi muốn đổi chữ “read more” thành “đọc thêm”, “latest posts” thành “bài viết mới nhất”. Thì mình phải chèn thêm đoạn code nào?

  8. Vu Pham nói

    Chào Bạn , cho mình hỏi có cách nào reply email cancel đơn hàng mà add email khách hàng vào đc ko? trong phần setup email > manage mình không biết biến email nguoi dùng là gì nên ko đưa vào được.

Để lại một trả lời

Địa chỉ email của bạn sẽ không được công bố.