1. Home
  2. WordPress
  3. 5 điều bạn có thể làm với file Functions.php trong WordPress
VnTips 7 tháng trước

5 điều bạn có thể làm với file Functions.php trong WordPress

Tệp tin functions.php là một trong những tệp trung tâm nhất của bất kỳ cài đặt WordPress nào. Nó có thể kiểm soát nhiều chức năng và hành vi của trang web của bạn. Tuy nhiên, những người mới bắt đầu thường không hiểu tệp này có tác dụng gì và họ có thể sử dụng nó để làm gì. Bài viết này sẽ thay đổi điều đó.

File functions.php là gì và nó làm gì?

File unctions.php là một phần của hầu hết mọi cài đặt WordPress. Cụ thể hơn, bạn thường có thể tìm thấy nó trong thư mục của mọi chủ đề được cài đặt trên trang web của bạn (bao gồm cả các chủ đề con).

Vậy tập tin phổ biến này làm gì?

Tệp này functions.php giống như một plugin phụ thuộc vào chủ đề. Bạn có thể sử dụng nó để thêm bất kỳ loại chức năng nào vào trang web của mình (giống như các plugin). Tuy nhiên, vì  functions.php là một phần của chủ đề nên các thay đổi của bạn sẽ chỉ có hiệu lực miễn là có chủ đề đó, trong khi các plugin vẫn hoạt động bất kể bạn đang sử dụng chủ đề nào.

Để thực hiện công việc của mình, functions.php có thể chứa mã PHP cũng như các hàm WordPress gốc. Nếu bạn biết cách giải quyết những thứ như móc chủ đề, bạn thậm chí có thể sử dụng functions.php để tạo hook của riêng mình !

Bởi vì nó có thể chứa tất cả các loại đoạn mã nên tệp chức năng rất mạnh mẽ. Tuy nhiên, bạn biết chú Ben đã nói gì không: quyền lực lớn cũng đi kèm trách nhiệm lớn. Vì lý do đó, chúng ta hãy thảo luận tiếp theo khi nào nên sử dụng functions.php và khi nào không.

Ưu và nhược điểm của việc sử dụng file functions.php trong WordPress

Vì vậy, functions.php về cơ bản hoạt động giống như một plugin. Tuy nhiên, nó không chỉ làm một việc cụ thể. Thay vào đó, tệp có thể là tập hợp mã cho nhiều mục đích khác nhau. Ví dụ:

  • Tạo khu vực tiện ích
  • Thêm kích thước hình ảnh mới vào trang web của bạn
  • Thay đổi văn bản của liên kết ‘đọc thêm’
  • Thêm phông chữ tùy chỉnh

Như bạn có thể thấy, tập tin cực kỳ linh hoạt. Vì lý do đó, nếu bạn muốn thực hiện những thay đổi nhỏ cho trang web của mình, functions.php là cách hoàn hảo để thực hiện điều đó.

Mặt khác, nó cũng có giới hạn của nó. Đầu tiên và quan trọng nhất, nếu có bất kỳ lỗi nhỏ nào trong tệp (chẳng hạn như thiếu dấu chấm phẩy), nó có thể khiến toàn bộ trang web của bạn bị sập.

Thật đáng sợ, tôi biết.

Ngoài ra, nếu đó là cách duy nhất bạn thực hiện thay đổi cho trang web của mình thì tệp có thể nhanh chóng trở nên hỗn loạn và khó hiểu.

Cuối cùng, như bạn đã tìm hiểu trước đó, nếu bạn từng chuyển đổi chủ đề WordPress, bạn sẽ mất các thay đổi trong functions.php theme của mình. Nếu bạn cho rằng mình sẽ sớm chuyển đổi chủ đề hoặc đang thêm chức năng mà bạn muốn hoạt động độc lập  với chủ đề của mình, tốt hơn hết bạn nên sử dụng plugin Code Snippets:

Plugin này cung cấp cho bạn một cách đơn giản hơn, không phụ thuộc vào chủ đề để thêm code vào file functions.php

Các chức năng mẫu bạn có thể sử dụng trên trang web của mình

Được rồi, bây giờ bạn đã biết tất cả về tệp quan trọng này, bạn có thể bắt đầu sử dụng nó. Bên dưới, bạn sẽ tìm thấy một số đoạn mã mà bạn có thể sao chép và dán vào tệp chức năng của chủ đề (tất nhiên là có các tùy chỉnh dành riêng cho trang web). Cách tốt nhất để sử dụng chúng là dán chúng vào cuối  functions.phptập tin của bạn.

1. Thêm Google Analytics vào trang web của bạn

Thêm Google Analytics vào trang web của bạn luôn là một ý tưởng hay. Nó sẽ giúp bạn hiểu rõ hơn về đối tượng của mình và theo dõi hành vi của họ trên trang web của bạn để bạn có thể cải thiện nó.

Thông thường, bạn sẽ đưa Google Analytics vào trang web của mình thông qua plugin, tuy nhiên, bạn cũng có thể thực hiện việc này theo cách thủ công thông qua tệp WordPress functions.php. Đây là những gì trông giống như:

function add_googleanalytics() { ?>
<script async src="https://www.googletagmanager.com/gtag/js?id=XX-XXXXXXXX-X"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'XX-XXXXXXXX-X');
</script>
<?php
}
add_action('wp_head', 'add_googleanalytics');

Để làm cho đoạn mã hoạt động, bạn cần thay thế mọi thứ ở giữa  <script async... và cuối cùng  </script> bằng mã theo dõi Google Analytics của riêng bạn.

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

Khi ai đó cố gắng đăng nhập vào trang web của bạn với thông tin bị lỗi, WordPress sẽ cho người đó biết vấn đề là tên người dùng hay mật khẩu không hợp lệ

Thật không may, điều này có thể khiến hacker xâm nhập vào trang web của bạn dễ dàng hơn . Vì lý do đó, bạn có thể sử dụng đoạn mã bên dưới để thay đổi thông báo lỗi thành thông báo ít hiển thị hơn.

function obscure_login_errors(){
return "Nhập nội dung bạn muốn...";
}
add_filter( 'login_errors', 'obscure_login_errors' );

Chỉ cần thay đổi văn bản giữa thành "..." bất cứ điều gì bạn muốn nói.

3. Hiển thị số từ trong bài viết

Đôi khi việc hiển thị số lượng từ trong bài viết của bạn sẽ rất hữu ích. Bằng cách đó, khách truy cập có cơ hội quyết định xem họ có muốn đầu tư thời gian vào toàn bộ bài viết hay không.

Đầu tiên, thêm phần sau vào functions.php tập tin của bạn:

function word_count() {
$content = get_post_field( 'post_content', $post->ID );
$word_count = str_word_count( strip_tags( $content ) );
return $word_count;
}

Đoạn mã trên loại bỏ các thẻ HTML khỏi nội dung của bạn và sau đó đếm các từ còn sót lại.

Sau đó, bạn cần thêm vào echo word_count(); bất cứ nơi nào bạn muốn số lượng từ hiển thị. Ví dụ: tôi đã thêm dòng sau vào phần meta mục nhập của mẫu bài đăng của mình.

echo '<div class="word-count">This post contains ' . word_count() . ' words.</div>';

Trong đoạn mã trên, tôi đã gói số lượng từ trong một phần HTML (để thay đổi giao diện của nó nếu cần) và thêm một số văn bản xung quanh nó. Con số thực tế được hiển thị ở nơi nó nói word_count(). Lệnh echo chỉ yêu cầu trình duyệt hiển thị mọi thứ trên trang.

Sau đó, tôi xem xét child theme của mình (điều quan trọng là bạn phải sử dụng chủ đề con) cho tệp chịu trách nhiệm hiển thị các bài đăng trên trang web của tôi. Trong Twenty Seventeen, nghĩa là content.php, nằm trong thư mục chủ đề bên dưới template-parts > post . Tuy nhiên, nó có thể sẽ khác ở bạn.

Để biết chủ đề của bạn đang sử dụng tệp mẫu nào, bạn có thể cài đặt plugin What The File. Nó sẽ hiển thị phần tệp và mẫu nào được sử dụng để hiển thị trang hoặc bài đăng bạn hiện đang truy cập.

Cuối cùng, tôi chỉ cần định vị entry-meta phần này trong tệp của mình và dán mã ngay trước khi phần đó đóng lại. Trong Twenty Seventeen, nó trông như thế này:

echo '<div class="entry-meta">';
if ( is_single() ) {
twentyseventeen_posted_on();
} else {
echo twentyseventeen_time_link();
twentyseventeen_edit_link();
};
echo '<div id="word-count">This post contains ' . word_count() . ' words.</div>';
echo '</div><!-- .entry-meta -->';

Đây là kết quả:

4. Thêm thời gian đọc ước tính vào bài viết

Thay vì hiển thị số từ, bạn cũng có thể tiến thêm một bước nữa và hiển thị thời gian đọc ước tính. Để làm điều này, bạn chỉ cần thêm một số mã bổ sung vào ví dụ trên:

function reading_time() {
$content = get_post_field( 'post_content', $post->ID );
$word_count = str_word_count( strip_tags( $content ) );
$readingtime = ceil($word_count / 200);

if ($readingtime == 1) {
$timer = " minute";
} else {
$timer = " minutes";
}
$totalreadingtime = $readingtime . $timer;

return $totalreadingtime;
}

Đoạn trích này của Matt Birchler thực hiện là lấy số từ và chia cho tốc độ đọc 200 từ mỗi phút (điều đó xảy ra khi nó nói $word_count / 200, chỉ cần thay đổi con số này nếu bạn cho rằng người đọc của mình có thể chậm hơn hoặc nhanh hơn). Sau đó nó đưa ra kết quả với phút hoặc phút ở cuối.

Bạn có thể thêm nó vào trang web của mình giống như cách đếm từ trong ví dụ trước. Sự khác biệt duy nhất là bạn thay thế  word_count()bằng reading_time()trong mã của mình. Đây là cách tôi đã làm nó:

echo '<div id="reading-time">This post will take you about ' . reading_time() . ' to read.</div>';

Và đây là những gì nó trông giống như trên trang:

5. Trì hoãn việc gửi bài viết tới RSS

Ví dụ cuối cùng của chúng tôi là một cách để ngăn các bài đăng ngay lập tức chuyển sang nguồn cấp dữ liệu RSS của bạn khi bạn nhấn Đăng. Đó có thể là một ý tưởng hay vì nó cho bạn thời gian để sửa những lỗi chính tả mà bạn chỉ nhìn thấy sau khi đã gửi bài đăng ra thế giới.

Vấn đề: mặc dù trên trang web của bạn, bạn có thể chỉ cần thay đổi bất kỳ lỗi nào, nhưng một khi bài đăng của bạn xuất hiện trên RSS thì nó sẽ xuất hiện ở đó. Tuy nhiên, không còn nữa! Sử dụng đoạn mã dưới đây để tránh điều này xảy ra.

function delay_rss_feed($where) {   
global $wpdb;    
    if ( is_feed() ) {
        $now = gmdate('Y-m-d H:i:s');
        $wait = '10';
        $device = 'MINUTE';
        $where.= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
    }
    return $where;
}
add_filter('posts_where', 'delay_rss_feed');

Trong ví dụ này, số phút mà bài đăng bị trì hoãn (phần sau $wait) được đặt thành 10. Hãy thoải mái thay đổi nó thành bất kỳ thời điểm nào bạn thấy phù hợp.

Tổng hợp

Tệp tin functions.php là một công cụ mạnh mẽ để thực hiện các thay đổi cho trang web của bạn. Nếu bạn biết cách giải quyết vấn đề của mình thì có rất ít điều bạn không thể làm được.

Ở trên, chúng tôi đã giải thích tệp tin functions.php là gì, nó được sử dụng để làm gì cũng như những ưu điểm và nhược điểm của nó. Tôi cũng đã cung cấp cho bạn rất nhiều ví dụ để bạn có thể nắm bắt được khả năng của tệp này.

Từ đây, bạn có quyền xem xét những gì bạn cần trên trang web của mình và cách thực hiện điều đó. Tệp chức năng sẽ giúp bạn đạt được điều đó.

Bạn thích làm gì với tệp functions.php của WordPress? Cho chúng tôi biết trong phần bình luận ​​dưới đây!

35 lượt xem | 0 bình luận

Avatar

Xem nhanh