ACF trong WordPress là gì?

Tôi đã hâm mộ Trường tùy chỉnh nâng cao [ACF] từ lâu rồi. Nó được sử dụng trên hầu hết mọi trang web tôi đã xây dựng hoặc làm việc trong vài năm qua

Đối với những người chưa biết, ACF là một plugin cho phép bạn kiểm soát nhiều hơn nội dung của mình. Nó sử dụng meta bài đăng tùy chỉnh để làm phong phú nội dung của bạn với dữ liệu có cấu trúc. Nó cũng cho phép bạn xây dựng và định cấu hình các trường dữ liệu trong hộp meta khi bạn cập nhật bài đăng, trang, loại bài đăng tùy chỉnh, v.v.

Trước đây, tôi đã sử dụng plugin như một phần của dự án trên trang web Delicious Brains. Tuy nhiên, bài đăng trên blog này đã cho tôi thấy tầm quan trọng của giải pháp bên thứ ba đối với việc phát triển WordPress. Hãy để tôi giải thích…

ACF hoạt động như thế nào

Tôi đã mất một lúc để hiểu ACF làm gì, vì vậy đây là một ví dụ nhanh. Tôi đã sử dụng nó trên một trang web từ thiện cứu hộ chó, nơi người dùng thêm những chú chó mới để phục hồi dưới dạng một loại bài đăng tùy chỉnh. Tuy nhiên, cùng với tên, mô tả, tiêu đề bài đăng và nội dung của chú chó, họ cũng muốn lưu trữ giống và giới tính của chú chó, liên kết tới video và một số ảnh

Để làm điều này, tôi đã tạo một nhóm trường cho dữ liệu này từ menu Trường tùy chỉnh > Nhóm trường > Thêm mới

Bạn có thể thêm các trường thuộc nhiều loại khác nhau. Ở đây tôi đã sử dụng các lựa chọn, hộp văn bản, hộp kiểm boolean đơn giản và trường thư viện. Cái sau là tùy chọn ACF Pro và tôi sẽ thảo luận thêm về điều này sau

Đây là cách bạn định cấu hình hộp chọn, hoàn chỉnh với các tùy chọn người dùng

Tiếp theo, tôi đã nói rằng nhóm này chỉ nên xuất hiện trên màn hình chỉnh sửa cho loại bài đăng tùy chỉnh

add_action['acf/init', 'my_acf_init'];
function my_acf_init[] {
        // check function exists
        if[ function_exists['acf_register_block_type'] ] {
                // register a testimonial block
                acf_register_block_type[array[
                        'name'          => 'testimonial',
                        'title'         => __['Testimonial'],
                        'description'       => __['A custom testimonial block.'],
                        'render_template'   => 'template-parts/blocks/testimonial/testimonial.php',
                        'render_callback'   => 'my_acf_bock_render_callback',
                        'category'      => 'formatting',
                        'icon'          => 'admin-comments',
                        'keywords'      => array[ 'testimonial', 'quote' ],
                ]];
        }
}
3. Có tất cả các loại logic mà bạn có thể sử dụng ở đây, chẳng hạn như loại bài đăng, mẫu, danh mục và vai trò người dùng

Tuy nhiên, sức mạnh thực sự của ACF là khi bạn thêm dữ liệu

Thêm dữ liệu vào trường ACF

Màn hình chỉnh sửa trông khác khi làm việc trên bài đăng

add_action['acf/init', 'my_acf_init'];
function my_acf_init[] {
        // check function exists
        if[ function_exists['acf_register_block_type'] ] {
                // register a testimonial block
                acf_register_block_type[array[
                        'name'          => 'testimonial',
                        'title'         => __['Testimonial'],
                        'description'       => __['A custom testimonial block.'],
                        'render_template'   => 'template-parts/blocks/testimonial/testimonial.php',
                        'render_callback'   => 'my_acf_bock_render_callback',
                        'category'      => 'formatting',
                        'icon'          => 'admin-comments',
                        'keywords'      => array[ 'testimonial', 'quote' ],
                ]];
        }
}
3. Nó hiển thị một hộp meta tùy chỉnh hoàn chỉnh với các trường đã xác định

Điều này làm cho việc thêm tất cả dữ liệu bổ sung trở nên dễ dàng đối với người chỉnh sửa nội dung. Nó cũng cho phép bạn chỉ định chính xác nơi bạn muốn hiển thị dữ liệu trong chủ đề, sử dụng mã hàm

add_action['acf/init', 'my_acf_init'];
function my_acf_init[] {
        // check function exists
        if[ function_exists['acf_register_block_type'] ] {
                // register a testimonial block
                acf_register_block_type[array[
                        'name'          => 'testimonial',
                        'title'         => __['Testimonial'],
                        'description'       => __['A custom testimonial block.'],
                        'render_template'   => 'template-parts/blocks/testimonial/testimonial.php',
                        'render_callback'   => 'my_acf_bock_render_callback',
                        'category'      => 'formatting',
                        'icon'          => 'admin-comments',
                        'keywords'      => array[ 'testimonial', 'quote' ],
                ]];
        }
}
5

Chủ Đề