Logo của Wordpress - giản thể

File Functions.php trong WordPress được coi như một plugin

Cũng giống như Drupal, mỗi một gói giao diện của WordPress đều phải có một file functions.php để cung cấp các chức năng thêm phục vụ chính giao diện đó, và file functions.php trong gói giao diện được coi là một plugin.

Mặc dù được coi là một plugin thật, nhưng file function lại không thể thay thế một plugin vì nó còn mang một số điểm yếu như:

  • Được include sau các plugin khác, nghĩa là thực thi muộn nhất, một số hàm của plugin thì file function không hook được vào
  • Thay giao diện là mất chức năng, nên một số hàm người ta không để trong file này

Trong các gói giao diện của tôi, như trang Muasamvui chẳng hạn, toàn bộ các hàm cần thiết nhất và cơ bản nhất tôi để trong file function này, nhằm tạo điều kiện cho giao diện nhẹ nhất để chạy, còn lại vẫn phải quăng nó vào plugin, vì là một trang thương mại điện tử nên cần nhiều giao diện cho người dùng, mà file function không thể chạy nếu giao diện đó chưa được active.

Điều thuận lợi nhất khi dùng file function để làm việc là do nó được gọi khá muộn so với các plugin nên cần lấy kết quả gì của hàm hay hook nào đều có thể. Tôi nhớ rằng có một vài hàm như is_user_loggin() hay is_single không thể gọi trong plugin được ( một số trường hợp hook vào init hoặc wp ).

Trong file function này bạn có thể khai báo các hàm như:

  • Khai báo hỗ trợ thumbnal add_theme_support …
  • Khai báo hỗ trợ Widget register_widget
  • Khai báo hỗ trợ định dạng bài đăng register_post_type
  • Các hàm khác

Chúc các bạn thành công !

TÁC GIẢ:

Tôi là Jam, thâm niên 7 năm thiết kế website và làm SEO. Hãy theo dõi blog của tôi để nhận được nhiều chia sẻ thú vị xung quanh chủ đề công nghệ.

Có 3 bình luận !

      1. Mình tìm ra rồi, nó nằm trong public_html/wp-includes/ theme.
        Bạn Jam Việt cho mình hỏi, mình đang dùng đoạn script này để chèn qc:
        add_filter( ‘the_content’, ‘rayno_insert_after’ );
        function rayno_insert_after($content) {
        $closing_p = ”;
        $ads_after_paragraph = 2;
        $ads = ‘Nội dung quảng cáo’;
        $paragraphs = explode( $closing_p, $content );
        if(is_single()){
        foreach ($paragraphs as $index => $paragraph) {
        if ( trim( $paragraph ) ) {
        $paragraphs[$index] .= $closing_p;
        }
        if ( $index + 1 == $ads_after_paragraph ) {
        $paragraphs[$index] .= $ads;
        }
        }
        if($ads_after_paragraph =0;$i–){
        $paragraphs[$i+1] = $paragraphs[$i];
        }
        $paragraphs[0] = $ads;
        }
        if ( $index + 1 < $ads_after_paragraph) {
        $paragraphs[$ads_after_paragraph] .= $ads;
        }
        }
        $content = implode( '', $paragraphs );
        return $content;
        }
        vấn đề là chỉ chèn đc 1 cái, mình muốn chèn 2-3 cái qc thì làm ntn nhỉ? Cám ơn nhiều

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *