Review ACF trong WordPress là gì?
Kinh Nghiệm Hướng dẫn ACF trong WordPress là gì? Mới Nhất
Hoàng Nhật Mai đang tìm kiếm từ khóa ACF trong WordPress là gì? được Cập Nhật vào lúc : 2022-12-22 10:08:06 . Với phương châm chia sẻ Bí kíp Hướng dẫn trong nội dung bài viết một cách Chi Tiết 2022. Nếu sau khi tham khảo tài liệu vẫn ko hiểu thì hoàn toàn có thể lại Comment ở cuối bài để Tác giả lý giải và hướng dẫn lại nha.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 thao tác trong vài năm qua
Nội dung chính Show- ACF hoạt động và sinh hoạt giải trí như vậy nàoThêm tài liệu vào trường ACFACF nâng tầm WordPressThêm tùy chọn trường tương hỗ update vào ACFSử dụng tính năng JSON cục bộSử dụng Trình sửa đổi khối cùng với ACFCách xây dựng khối bằng ACFXây dựng khối ACFHỗ trợ 'InnerBlocks'Các lựa chọn thay thế cho Khối ACFTương lai của ACFGiới thiệu về tác giảACF trong phát triển web là gì?ACF có miễn phí không?ACF Gutenberg là gì?
Đối với những người dân chưa chắc như đinh, ACF là một plugin được cho phép bạn trấn áp nhiều hơn nữa nội dung của tớ. 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 tài liệu có cấu trúc. Nó cũng khá được cho phép bạn xây dựng và định thông số kỹ thuật những trường tài liệu trong hộp meta khi bạn update 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 công trình bất Động sả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 lý giải…
ACF hoạt động và sinh hoạt giải trí ra làm sao
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ộ cứu nạn chó, nơi người tiêu 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 tàng trữ giống và giới tính của chú chó, link tới video và một số trong những ảnh
Để làm điều này, tôi đã tạo một nhóm trường cho tài liệu này từ menu Trường tùy chỉnh > Nhóm trường > Thêm mới
Bạn hoàn toàn có thể thêm những trường thuộc nhiều loại rất khác nhau. Ở đây tôi đã sử dụng những 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 thông số kỹ thuật hộp chọn, hoàn hảo nhất với những tùy chọn người tiêu dùng
Tiếp theo, tôi đã nói rằng nhóm này nên làm xuất hiện trên màn hình hiển thị sửa đổi 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ả nhiều chủng loại logic mà bạn hoàn toàn có thể sử dụng ở đây, ví dụ như loại bài đăng, mẫu, khuôn khổ và vai trò người tiêu dùngTuy nhiên, sức mạnh thực sự của ACF là lúc bạn thêm tài liệu
Thêm tài liệu vào trường ACF
Màn hình sửa đổi trông khác khi thao tá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 hảo nhất với những trường đã xác địnhĐiều này làm cho việc thêm tất cả tài liệu tương hỗ update trở nên thuận tiện và đơn giản đối với người sửa đổi nội dung. Nó cũng khá được cho phép bạn chỉ định đúng chuẩn nơi bạn muốn hiển thị tài 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' ), )); 5Nếu không còn plugin, tôi phải sử dụng những hộp meta tùy chỉnh mặc định của WordPress, mã hóa những hộp meta phong phú hơn của riêng tôi từ đầu hoặc đánh dấu giống và giới tính của chó vào những nguyên tắc phân loại tùy chỉnh. Tôi thậm chí hoàn toàn có thể phải sử dụng thư viện gốc được nhúng bên trong nội dung bài đăng. Rùng mình
ACF nâng tầm WordPress
ACF đúng là thứ mà WordPress với tư cách là Hệ thống quản lý nội dung (CMS) đã thiếu khi có nhiều quyền trấn áp hơn đối với nội dung của bạn. Với hơn một triệu lượt setup đang hoạt động và sinh hoạt giải trí, nó đã giúp làm cho nền tảng WordPress trở nên mạnh mẽ và tự tin hơn và thậm chí hoàn toàn có thể góp thêm phần vào sự phát triển của nó
Hơn nữa, những nhà phát triển và đại lý đã tận dụng nó để đáp ứng cho người tiêu dùng quyền trấn áp nội dung của tớ mà không cần mã ngắn, trình tạo trang hay thậm chí là
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' ), )); 6. Các nhà phát triển có toàn quyền trấn áp nơi tài liệu xuất hiện trên giao diện người tiêu dùng của trang web, tránh những sửa đổi không thể tránh khỏi của người tiêu dùng làm hỏng hình ảnhTrên thực tế, ACF rất phổ biến đối với người tiêu dùng của chúng tôi, chúng tôi đã phải tích hợp thêm với WP Offload Media. Giờ đây, hình ảnh và tính năng cắt xén hoạt động và sinh hoạt giải trí với phương tiện được giảm tải xuống Amazon S3, DigitalOcean Spaces hoặc Google Cloud Storage
Thêm tùy chọn trường tương hỗ update vào ACF
Phiên bản miễn phí của plugin có rất nhiều hiệu suất cao. Tuy nhiên, phiên bản cao cấp là vấn đề thiết yếu để có quyền truy cập vào những trường như bộ lặp, bố cục linh hoạt và phòng trưng bày
Ví dụ: chúng tôi đang sử dụng trường Bộ lặp lại để được cho phép người tiêu dùng hiển thị những lời xác nhận được chọn trong một thanh trượt trên những trang sản phẩm. Bộ lặp chứa trường đối tượng bài đăng lồng nhau
Sau đó, nó sẽ xuất hiện khi sửa đổi trang, vì vậy chúng tôi hoàn toàn có thể trấn áp lời xác nhận nào sẽ được hiển thị
Với những hành vi và bộ lọc nằm xung quanh cơ sở mã, ACF vẫn là một công cụ cực kỳ thân thiện với nhà phát triển và hoàn toàn có thể mở rộng. Nó cũng ưu tiên những tăng cấp cải tiến quan trọng đối với người tiêu dùng
Sử dụng tính năng JSON cục bộ
Tuy nhiên, trước đây tôi gặp một số trong những vấn đề là tàng trữ thông số kỹ thuật trường trong cơ sở tài liệu, rõ ràng là nhiều chủng loại bài đăng tùy chỉnh cho nhóm trường và trường
Điều này nghĩa là nếu bạn thay đổi định nghĩa trường trên một trang web đang phát triển, thì bạn không thể đẩy cơ sở tài liệu của tớ bằng một giải pháp như WP Migrate DB Pro hoạt động và sinh hoạt giải trí trở lại. Bạn sẽ thấy bảng bài đăng sẽ thay đổi và bạn sẽ mất tài liệu mới
Đây là sự việc cố hợp nhất cơ sở tài liệu lâu lăm (đừng để tôi khởi đầu…). Tôi đã từng xử lý và xử lý vấn đề này bằng phương pháp thực hiện thay đổi trường trên trang web trực tiếp trước. Sau đó, tôi sẽ kéo cơ sở tài liệu về trang địa phương của tớ để tiếp tục phát triển. không lý tưởng
May mắn thay, ACF đã ra mắt tính năng Local JSON. Điều này làm là được cho phép lưu thông số kỹ thuật trường dưới dạng tệp JSON, hoàn toàn có thể đồng bộ hóa với cơ sở tài liệu
Tính năng tuyệt vời này xử lý và xử lý vấn đề hợp nhất cơ sở tài liệu cho tài liệu ACF. Điều đó cũng nghĩa là bạn hoàn toàn có thể giữ những tệp JSON dưới sự trấn áp phiên bản và biến thông số kỹ thuật thành một phần của quy trình triển khai tệp điển hình của bạn. Trong khi thao tác với plugin trên trang web của chúng tôi, tôi đã thêm một số trong những điều chỉnh để tích hợp nó nhiều hơn nữa với Git và thiết lập đa môi trường tự nhiên thiên nhiên của chúng tôi
- Tôi đã xác định thư mục JSON cho thư mục 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' ),
));
7 của chúng tôi bên phía ngoài chủ đề (vì nó hoàn toàn có thể thay đổi)Mục menu “Trường tùy chỉnh” sẽ chỉ hiển thị trên môi trường tự nhiên thiên nhiên phát triểnCác tệp JSON có thông số kỹ thuật cơ sở tài liệu lỗi thời trên 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' ),
));
8 sẽ tự động đồng bộ hóa
Mặc dù hiện tại chúng tôi có Trình sửa đổi khối WordPress (trước đây gọi là Gutenberg), tôi nhận định rằng ACF vẫn rất quan trọng để tạo trải nghiệm sửa đổi tuyệt vời
Sử dụng Trình sửa đổi khối cùng với ACF
Trình sửa đổi khối đáp ứng một hướng sửa đổi nội dung khác với ACF. Bạn tạo nội dung bằng phương pháp sử dụng Khối thay vì tàng trữ nội dung đó dưới dạng tài liệu meta bài đăng, điều này mang lại cho bạn sự linh hoạt trong thiết kế
Lúc đầu, Trình sửa đổi khối không tương hỗ hộp meta. Chúng thậm chí còn bị xóa khỏi màn hình hiển thị “Chỉnh sửa bài đăng”, khiến rất nhiều người phẫn nộ. Hiện tại, tương hỗ đã được thêm cho những hộp meta. Chúng xuất hiện phía dưới Trình sửa đổi khối với Giao diện người tiêu dùng (UI) tối thiểu, kém tinh tế hơn
Sử dụng Khối thay vì trường cho tài liệu tùy chỉnh, trình sửa đổi mới hoàn toàn có thể tác động lớn đến tương lai của ACF. Hơn nữa, những trang web mới sẽ ít hoàn toàn có thể setup công cụ của bên thứ ba hơn khi giờ đây đã có giải pháp gốc
Tuy nhiên, đây không phải là lần đầu tiên những thay đổi cốt lõi được đề xuất đe dọa tương lai của ACF. Một vài năm trước, một nhóm mới đã được thành lập cho Post Meta. Lúc đầu, điều này nghe có vẻ như như sẽ giết chết những giải pháp trường tùy chỉnh rất khác nhau của bên thứ ba
Đã có một loạt những thư viện/khuôn khổ/plugin (CMB, SCB, WPAlchemy, ACF, Pods), hiện tại đã hoàn thành xong vai trò này. Chúng tôi sẽ coi đây là những phần tiền truyện tâm linh cho một plugin mới xứng đáng với cốt lõiVào thời điểm đó, tôi đã viết về việc quyết định ra mắt những tính năng đối đầu đối đầu mới này hoàn toàn có thể khiến một số trong những plugin trở nên dư thừa ra làm sao. Cuối cùng, dự án công trình bất Động sản Post Meta chẳng đi đến đâu, sửa đổi và biên tập viên mới đã xuất hiện và ACF đã vượt qua cơn lốc
ACF không riêng gì có phục hồi trở lại, họ còn thích nghi. Kết quả là thứ phối hợp sức mạnh mẽ và tự tin của ACF và tính linh hoạt của Khối tùy chỉnh. Hãy nói về điều này tiếp theo
Cách xây dựng khối bằng ACF
Rõ ràng, Khối tùy chỉnh hoàn toàn có thể có lợi. Tuy nhiên, quy trình kỹ thuật để tạo ra nó rất phức tạp. Khối ACF lấp đầy khoảng chừng trống
Khối ACF tích phù phù hợp với những trường tùy chỉnh hiện tại của bạn, năng động và hoàn toàn có thể tùy chỉnh, đồng thời được cho phép bạn đạt được hai điều
- Bạn hoàn toàn có thể đưa những trường tùy chỉnh hiện tại của tớ vào hệ sinh thái Block EditorBạn hoàn toàn có thể tạo những giải pháp nội tuyến tùy chỉnh
Chúng được hiển thị bằng tệp mẫu PHP hoặc 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' ), )); 0 – vì vậy nó in như phát triển một chủ đề. Chúng cũng duy trì kĩ năng tương thích cốt lõi của WordPress, vì vậy bạn thậm chí hoàn toàn có thể tạo những Khối hoàn toàn có thể tái sử dụng thông qua khungMặc dù Khối ACF không phải là một chiếc nạng, nhưng tôi muốn nói rằng nếu kỹ năng Phản ứng của bạn vẫn còn sơ sài, bạn chắc như đinh sẽ muốn tìm hiểu thêm về chúng. Họ sẽ được cho phép bạn tận dụng sức mạnh mẽ và tự tin của Trình sửa đổi khối trong khi vẫn ở trong tệp
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' ), )); 1 quen thuộcXây dựng khối ACF
Hãy chỉ cho bạn cách xây dựng Khối ACF. Phiên bản Pro của công cụ đã gồm có hiệu suất cao này từ ACF 5. 8, vậy là nó đã ở với chúng tôi được khoảng chừng hai năm rồi. Đây là mã đăng ký khối ví dụ siêu đơn giản
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' ), ));Từ đây, bạn sẽ muốn tạo một nhóm trường và hiển thị Khối. Trước đây, bạn sẽ thực hiện việc này từ bên trong Trường tùy chỉnh > Màn hình Nhóm trường trong WordPress
Tại đây, thêm nhóm trường của bạn và điền vào như thông thường. Tuy nhiên, trong hộp meta “Vị trí”, bạn sẽ muốn sử dụng quy tắc “Chặn” để chọn (trong trường hợp này) Khối xác nhận
Cuối cùng, bạn sẽ cần kết xuất Khối. Điều này tuân theo quy trình tương tự mà bạn hoàn toàn có thể đã quen với những trường tùy chỉnh
- Tạo tệp mẫu cho chủ đề của bạn nhờ vào tham số được đáp ứng trong setup 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' ),
));
2 khi đăng ký Khối lần đầuChọn phương pháp phù hợp để hiển thị KhốiEnqueue phong cách và ngữ cảnh của bạn
Lưu ý rằng hiệu suất cao
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 đáp ứng setup 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' ), )); 4, 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 và 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' ), )); 6Nhìn chung, những Khối tránh việc thay thế mọi hộp meta trường tùy chỉnh khi cần, nhưng chúng sẽ được cho phép bạn tận dụng lợi thế của việc tạo nội dung trong trình sửa đổi
Hỗ trợ 'InnerBlocks'
Block Editor cũng luôn có thể có hiệu suất cao giúp bạn thao tác với ACF Blocks. Về cơ bản, InnerBlocks được cho phép bạn chèn bất kỳ Khối mới nào vào Khối ACF của bạn
Chúng hoàn toàn có thể là Khối tùy chỉnh hoặc Khối cốt lõi và bạn hoàn toàn có thể sử dụng những trường “Tiêu đề”, “Nội dung” và “Nút” hiện tại trong Khối ACF của riêng bạn
Dưới đây là phía dẫn nhanh để thiết lập và chạy. Để khởi đầu sử dụng InnerBlocks, bạn đưa
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' ), )); 7 vào mả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' ), )); 8add_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' ), )); 1Sau đó, bạn sẽ nên phải
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' ), )); 9 thẻ HTML 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' ), )); 10 trong mẫu Khối của mìnhadd_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' ), )); 4Đây chỉ là một ví dụ đơn giản, nhưng bạn hoàn toàn có thể làm được nhiều điều hơn thế nữa với InnerBlocks
Các lựa chọn thay thế cho Khối ACF
Tất nhiên, ACF sẽ không phải là giải pháp duy nhất để tạo Khối. Như vậy, bản năng đầu tiên của bạn hoàn toàn có thể sẽ là một bản dựng tùy chỉnh
Trước đây, chúng tôi đã đề cập đến cách tạo Khối 'vanilla', nhưng trước khi khởi đầu, bạn sẽ nên phải có kiến thức về React
Ngoài ra còn tồn tại những plugin WordPress được cho phép bạn lắp ráp những Khối từ nhiều thành phần rất khác nhau, nhưng tôi muốn nói rằng chúng không thực sự dành riêng cho những nhà phát triển mà là 'những người dân mày mò người tiêu dùng cuối'. Lazy Blocks được update thường xuyên, vì vậy đây là một lựa chọn tốt nếu bạn muốn thử nghiệm những gì nó đáp ứng
Tương lai của ACF
Kể từ khi phát hành, ACF đã là một plugin tương hỗ update quan trọng cho WordPress. Nó mở rộng, làm phong phú và làm cho nền tảng trở nên hữu ích hơn. Tôi không nghĩ rằng tôi hoàn toàn có thể xây dựng những trang web mà không còn nó
Tuy nhiên, việc phối hợp Trình sửa đổi khối và Khối ACF là một điều tuyệt vời – đó là một khoản vốn tuyệt vời cho tương lai của CMS. Nó sẽ giúp hạ thấp rào cản gia nhập cho những nhà phát triển để mở rộng Trình sửa đổi khối mà không cần khởi đầu quá trình học tập dốc của React. Về lâu dài, những người dân đang nỗ lực hết mình vì sự phát triển của Trình sửa đổi khối hoàn toàn có thể coi đây là một thắng lợi
Kể từ khi ra mắt Trình sửa đổi khối, bạn đang sử dụng gì để xây dựng trang web?
Mục nhập này đã được đăng trong WP Offload Media, Quy trình thao tác và được gắn thẻ Mẹo phát triển, Gutenberg, Trường tùy chỉnh nâng cao, Khối Gutenberg, ACF
Giới thiệu về tác giả
Iain Poulson Giám đốc sản phẩmIain là giám đốc sản phẩm có trụ sở tại miền nam nước Anh. Anh ấy cũng điều hành nhiều sản phẩm WordPress. Anh ấy giúp mọi người tiêu dùng và bán doanh nghiệp WordPress và viết bản tin hàng tháng về xu hướng WordPress
@polevaultweb. com
chrismccoy nói.
tôi vẫn thích cách cũ hơn, nhưng ACF tiết kiệm rất nhiều thời gian và phiên bản pro có xuất ra mã cũng tiện dụng
Leho Kraav nói.
ACF – có khối mạng lưới hệ thống meta tuyệt vời, không còn nhóm quản lý loại bài đăng – có quản lý loại bài đăng và những tính năng khác, nhưng vẫn chưa bắt kịp với quản lý meta hi-fi thực sự Chưa có giải pháp giành thắng lợi duy nhất
Phil Braun nói.
Hệ sinh thái của ACF rộng lớn và năng động hơn rất nhiều so với Pods, đối với tôi, mọi lợi thế quản lý loại bài đăng hoàn toàn có thể có chỉ đơn giản là biến mất. Ngoài ra, tôi thậm chí không thể nhớ Pods đã hứa hẹn phiên bản 3 của tớ trong bao lâu. 0
JorgeLuisBorges nói.
Tại sao ACF sẽ quản lý nhiều chủng loại bài đăng cho bạn? . Đối với tôi Pods đang làm hai việc theo cách OK. ACF đang làm một điều tuyệt vời
Iain nói.
Đăng ký nhiều chủng loại bài đăng trong mã thuận tiện và đơn giản hơn nhiều so với những trường tùy chỉnh, đó là nguyên do tại sao tôi chưa bao giờ tìm kiếm một plugin để làm điều đó cho mình
Tim nói.
CPT UI có giao diện người tiêu dùng tương đối tốt để quản lý CPT. Vâng, đó là một plugin khác, nhưng 2 plugin nhỏ hơn không nhất thiết phải tệ hơn 1 plugin to hơn. Và nếu muốn, bạn hoàn toàn có thể xuất tác phẩm của CPT UI sang PHP và không cần setup plugin khi sản xuất
Eric M. nói.
Tôi đồng ý, nhưng anh bạn, Pods có tài năng liệu TUYỆT VỜI. Tôi đã thiết lập và chạy trên ACF trong 5 phút và tài liệu của tớ thật tuyệt vời. Tôi đã sử dụng Pods cho một dự án công trình bất Động sản và có rất nhiều cảm hứng xung quanh trong bóng tối… và tôi vẫn chưa hiểu hết về nó. 😉
Brian J. nói.
Bạn đã thử Hộp Meta chưa. Tôi đã sử dụng nó trong nhiều năm và nó có mọi thứ mà Pods hoặc ACF làm được. Nó nhờ vào mã (với GUI là phần mở rộng), vì vậy bạn cần hiểu PHP. Nhưng sau đó nó siêu nhanh và mạnh mẽ và tự tin
Giá trợ cấp nói.
Đây là một cách tuyệt vời để khởi đầu với những khối dành riêng cho một số trong những người dân hoàn toàn có thể chậm hơn một chút ít với Javascript. Đây là một cách tuyệt vời để giúp nhiều nhà phát triển
Tim nói.
Điểm số của những nhà phát triển có in như một đàn chim không?
Phil Braun nói.
Các khối ACF thực sự, từ những gì tôi đã thử nghiệm nhỏ, thật tuyệt vời nếu một người muốn tránh, ít nhất là vào thời điểm hiện nay, cảm hứng in như một mớ hỗn độn quá phức tạp của mã, khung và phụ thuộc và những thứ không thiết yếu đó là Gutenberg, trong cả những lúc sử dụng Create-Guten- không thể thiếu . Đối với những dự án công trình bất Động sản nặng hơn một chút ít, tôi đã tuân theo cách mà Bill Erickson đề xuất và chỉ sử dụng những truy vấn siêu tài liệu WP trong bộ sưu tập, chỉ sử dụng ACF trong phần phụ trợ. Nói chung, tôi không nghĩ rằng mình thậm chí hoàn toàn có thể thao tác mà không còn ACF Pro, đây thực sự là plugin đầu tiên được setup trong bất kỳ phiên bản Valet+ mới nào
Juicebox Interactive nói.
Chúng tôi thực sự thích phương pháp PHP trực tiếp để tàng trữ những định nghĩa trường. Bạn hoàn toàn có thể xuất những nhóm trường hiện có dưới dạng PHP trong Công cụ -> Xuất, nhưng sau khi thực hiện việc này một lúc, bạn hoàn toàn có thể tìm hiểu về bản chất định dạng mảng ở nơi bạn đang viết nó từ đầu. Các tệp JSON lộn xộn và khó sửa đổi – tốt nhất là giải pháp một phần cho những định nghĩa trường được trấn áp nguồn. Phương thức PHP được cho phép bạn đặt những trường ở bất kể đâu bạn muốn. Chúng tôi đặt chúng trong những tệp định nghĩa loại bài đăng của tớ để toàn bộ quy mô tài liệu cho loại bài đăng ở một nơi
Iain nói.
Chính xác điều này
Maty Grosman nói.
Bạn đã hoàn toàn có thể khắc phục sự cố ACF với Bộ nhớ đệm đối tượng chưa? . Nếu không thì plugin tuyệt vời. Vấn đề được mô tả ở đây. https. //tương hỗ. từng trang. com/hc/en-us/articles/115002105112-Advanced-Custom-Fields-Pro-and-Object-Cache-Compatibility?mobile_site=true
Evan Mullins nói.
Vâng, tôi cũng là một fan hâm mộ lớn của ACF và đã truyền bá nó trong nhiều năm. Tôi rất muốn xem nó sẽ mang lại những gì khác sau khi gutenberg được phát hành (bản thân tôi vẫn chưa chơi với những khối ACF). Mặc dù vậy, tôi không còn đủ điều tốt để nói về ACF. Plugin được làm tốt giúp tăng đáng kể trải nghiệm nhà phát triển của tôi
dae nói.
ACF gần như thể tăng gấp hai số lượng siêu tài liệu được lưu trong bảng postmeta so với những trường tùy chỉnh WP thông thường. Plugin tuyệt vời cho những trang web nhỏ. Hoàn toàn vô dụng và không thể mở rộng cho những dự án công trình bất Động sản to hơn
Miles Gilmour nói.
Không, không hoàn toàn vô dụng. Hầu hết nếu không thích nói là tất cả tài liệu tương hỗ update mà ACF lưu chỉ để trình bày khi sửa đổi. Nếu bạn chỉ muốn trình bày tài liệu ở giao diện người tiêu dùng, bạn hoàn toàn có thể lấy tài liệu đó bằng hàm get_post_meta tiêu chuẩn
dae nói.
Nếu bạn muốn truy vấn những bài đăng được lọc bởi nhiều hơn nữa 1 trường tùy chỉnh và bạn có vài nghìn bài đăng thì điều đó hoàn toàn không sử dụng được. Bạn sẽ có nhu yếu các bảng db tùy chỉnh cho điều đó
lorenhelgeson nói.
Sử dụng get_post_meta giảm đáng kể số lượng truy vấn. Nó cũng làm cho tài liệu hoàn toàn có thể di tán được – nếu bạn tắt ACF, bạn sẽ không phá vỡ toàn bộ trang web vì bạn không nhờ vào những hiệu suất cao độc quyền của nó. Sử dụng cùng một phương pháp cho những nguyên tắc phân loại và khuôn khổ phức tạp hơn một chút ít, vì chúng không sử dụng get_post_meta, nhưng mã thì có sẵn
Daniel nói.
điều chắc như đinh. Nhưng có một addon tương đối mới hứa hẹn sẽ lấp đầy khoảng chừng trống này. https. // cái móc. io/downloads/acf-custom-database-tables/ ACF tuyệt vời hơn thế nữa 😀
Eric M. nói.
ACF là vô giá, và điều gây sốc duy nhất là WordPress đã không mua và đưa nó vào
Luca Rosaldi nói.
Tôi hoàn toàn đồng ý. Nó không thể thiếu đến mức nó chắc như đinh phải là một phần cốt lõi
Miles Gilmour nói.
ACF đã nhặt bóng với Gutenberg Blocks. Cuối cùng, có một tùy chọn nhanh cho những loại khối tùy chỉnh giúp Gutenberg trở nên khả thi đối với những studio / đại lý nhỏ hơn, những người dân không thích đầu tư nhiều thời gian để học công cụ mới
moxy nói.
Tôi đã sử dụng nó thuở nào gian, sau đó chuyển sang CMB2 thay thế. Tôi đang lên kế hoạch xem lại nó trong một số trong những dự án công trình bất Động sản sắp tới vì Gutenberg Blocks
Jeff Gould nói.
Tôi đã và đang chuyển sang CMB2 trong một số trong những dự án công trình bất Động sản mới gần đây nhất mà tôi đã thực hiện và cho tới nay tôi rất hài lòng. Các trường là những mục đơn lẻ trong bảng postmeta, không ra mắt bất kỳ phương pháp tùy chỉnh nào để truy xuất tài liệu và định nghĩa trường được viết bằng mã, do đó Git hoàn toàn có thể quản lý. Mình thường cài CMB2 làm plugin MU nên cũng không phải lo client vào làm rối tung gì đó. Tôi có giấy phép ACF PRO và nghĩ rằng đó là một sản phẩm tuyệt vời, nhưng hiện tại tôi thích CMB2 hơn một chút ít
Simon nói.
Tôi cũng vậy - Tôi đã sử dụng CMB2 được khoảng chừng 3 năm, tôi thực sự thích nó vì nó nhẹ hơn rất nhiều lúc không còn tất cả giao diện người tiêu dùng, nội dung JSON, v.v. và nhiều thứ khác nhắm đến những nhà phát triển. Việc thêm nhiều chủng loại trường, quy tắc xác thực, trang tùy chọn, v.v đều rất đơn giản. Cho đến nay, tôi vẫn chưa cần hiệu suất cao khối, nhưng nếu có, tôi chắc như đinh sẽ xem xét ACF cho những dự án công trình bất Động sản có ngân sách thấp hơn, nhưng hoàn toàn có thể cuộn những khối của riêng tôi cho những dự án công trình bất Động sản có ngân sách
Anonymous nói.
Về cơ bản, tôi chọn WordPress cho hầu hết những dự án công trình bất Động sản vì ACF. Các trường ma trận trong Craft đã gần, nhưng chưa hoàn thiện
Adam Patterson nói.
Mong muốn lớn số 1 của tôi và điều mà tôi đã gửi cho một yêu cầu tính năng là kĩ năng tạo và sử dụng lại một khối tài liệu có cấu trúc. Tôi đã sử dụng ACF trên mọi trang web mà tôi đã xây dựng trong nhiều năm qua và một trong những khía cạnh quan trọng nhất trong những chủ đề của tôi là tạo ra
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' ), )); 11 về cơ bản hoàn toàn giống với 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' ), )); 12 nhưng thay vì yêu cầu tệp mẫu, nó được gồm có. Điều này được cho phép tôi thực hiện một cuộc gọi 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' ), )); 13 duy nhất một lần hoàn toàn có thể trong tiêu đề hoặc tệp chủ đề và có sẵn tài liệu đó cho tất cả những phần mẫu được tải trên trang đó. Do cách tiếp cận này, tôi cũng sử dụng Nhóm cho những khối tài liệu không cần Bộ lặp. Tôi cũng di tán đường dẫn ACF JSON sang chủ đề con của tớ và nhờ vào chủ đề Cha mẹ của tôi như một gói để khởi đầu và chạy nhanh hơnPhil Braun nói.
Bạn đã thấy addon mới này chưa. https. // acf-thành phần-trường. kẹo cao su. tôi?
Adam Patterson nói.
Hay quá cảm ơn bạn đã chia sẻ
David McDonald nói.
trường này khác với trường ACF Clone ra làm sao?
Richard Neville nói.
Đó là một plugin tuyệt vời, tôi đoán nó đã tiết kiệm được hàng triệu triệu dòng mã trong nhiều năm cho những nhà phát triển chúng tôi nói chung. Điều duy nhất tôi không thích (và đây là vấn đề về WP, không phải ACF) là cách mọi phần tài liệu kết thúc trong bảng postmeta, điều này hoàn toàn có thể gây ra một số trong những vấn đề nghiêm trọng khi bạn kết thúc với những trang web có Hàng trăm bài đăng và rất nhiều
Jeff Dreher nói.
Đã xây dựng gần 200 trang web WordPress trong vài năm qua, tôi thấy ACF không thể thiếu. Khách hàng không phải là nhà phát triển web và SẼ làm hỏng trang web nếu được "trình tạo trang" miễn phí trấn áp. ACF đã được cho phép tôi viết bộ sưu tập nội dung rất rõ ràng để trong cả người tiêu dùng cũng hoàn toàn có thể sửa đổi trang web của tớ
Scotty D. nói.
Đây đó đó là nguyên do tại sao KHÔNG nên sử dụng acf. Có, nó tạo ra một giao diện đẹp, nhưng nó được cho phép mọi người tiêu dùng những lối tắt mà người ta tránh việc sử dụng, tàng trữ tài liệu theo những cách không lý tưởng và phá vỡ get_post_meta trên những bộ lặp. Một plugin khủng được những ai lười và muốn đi đường tắt sử dụng
Iain nói.
Wow ý kiến mạnh mẽ và tự tin, Peter. Cách tiếp cận của bạn là gì?
Scotty D. nói.
Tôi đã tạo biểu mẫu trực tiếp bằng php và html. Acf có một số trong những vấn đề khá lớn trong việc tàng trữ và truy xuất tài liệu
Jeff nói.
Bạn hoàn toàn có thể muốn kiểm tra CMB2. Bạn truy cập tất cả những trường bằng lệnh gọi get_post_meta tiêu chuẩn. Ngay cả những bộ lặp cũng khá được tàng trữ dưới dạng một mảng được tuần tự hóa trong một trường duy nhất, vì vậy get_post_meta vẫn hoạt động và sinh hoạt giải trí tốt
Jeff Gould nói.
Chỉ cần một lời chú ý với cách tiếp cận
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' ), )); 14. Tôi nghĩ đó là một thủ thuật ngăn nắp nhưng hãy đào sâu. Có vẻ như Chức năng ACF 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' ), )); 15 kích hoạt lệnh gọi 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' ), )); 16 không link (trừ khi tôi đang xem xét điều gì đó hoàn toàn hoàn toàn có thể xảy ra). Vì mã được viết chạy trên mỗi lần tải trang quản trị, cho tất khắp cơ thể dùng (không gồm có mỗi lần truy cập cron và ajax). Vì vậy, nếu bạn đang điều hành một trang web có số lượng lớn 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' ), )); 17 (thương mại điện tử, EDD, ghi nhật ký, bất kể thứ gì), bạn sẽ hoàn toàn có thể đạt được hiệu suất cao tuy nhiên cột 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' ), )); 18 có chỉ mục. Query Monitor sẽ đưa ra chú ý truy vấn chậm. Ít nhất, phương pháp này phải có kiểm tra số lượng giới hạn ở trên cùng để số lượng giới hạn nó đối với quản trị viên trang hoặc tương tự. Nếu đó là trang web lớn, tôi sẽ tắt hiệu suất cao này sau khi quá trình phát triển hoàn tất và trang web được "chuyển giao"Iain nói.
Xin chào Jared – Tôi thực sự đã chuyển sang đăng ký những nhóm trường thông qua PHP mà ACF tạo cho bạn, vì nó hiệu suất cao hơn nhiều so với phương thức cơ sở tài liệu JSON =>. Tôi sẽ update nội dung bài viết trong thời gian ngắn
Jeff Gould nói.
Gotcha. Theo kinh nghiệm tay nghề của tôi, sử dụng đăng ký ACF PHP là lý tưởng cho tốc độ, nhưng thật rủi ro, quyền lợi chỉ tạm dừng ở đó. Với những trang web lớn, nó trở thành một mớ hỗn độn. Mọi thay đổi nghĩa là tạo lại và update tệp xuất JSON, tệp này cũng phải được giữ trong trấn áp phiên bản. Tôi nhận định rằng có lẽ rằng bạn hoàn toàn có thể sử dụng lưu trường JSON song song với đăng ký PHP? . Ngoài ra, mã đăng ký ACF PHP phải được update. Tôi ước có một phương pháp để tự động tạo và xử lý việc này. Không in như Trường Carbon hoặc CMB2, mã đăng ký PHP người tiêu dùng ACF khá khó sử dụng. Bạn chắc như đinh sẽ muốn quản lý hoặc sửa đổi những trường bằng phương pháp trực tiếp thực hiện những thay đổi đối với trường đó. Một vấn đề lớn mà chúng tôi gặp phải đối với trang web khá lớn là chúng tôi đang sử dụng đăng ký ACF PHP cho mọi thứ (và có RẤT NHIỀU trường/thiết lập). Một số nơi dọc theo dòng xuất JSON ACF ban đầu đã bị mất và tại thời điểm đó, bạn bị lừa. Bởi vì giờ đây bạn đang bị mắc kẹt trong việc quản lý tất cả những trường sửa đổi PHP điên rồ của ACF. Không có cách nào để đảo ngược đăng ký PHP đó và nhập/tái tạo nó vào giao diện người tiêu dùng ACF (ít nhất là chúng tôi chưa bao giờ tìm ra cách). Vì vậy, chắc như đinh là một lời chú ý ở đó 😀
Matt Edwards nói.
Tôi đã viết PHP thiết yếu để tạo những trường ACF theo cách thủ công. Khi bạn làm rõ về nó, nó khá nhanh và có một đoạn tương hỗ update cho VSCode giúp ích. Điều đó nghĩa là bạn hoàn toàn có thể đăng ký một khối, tạo kiểu cho nó và xác định tất cả những trường ở một nơi (điều này sẽ hữu ích nếu bạn muốn lấy nó và thả nó vào một dự án công trình bất Động sản khác). Tôi biết bạn đã đề cập ở trên rằng nó khó sử dụng, nhưng nếu nó được phân thành những khối hoặc thành phần thì nó thực sự hoàn toàn có thể quản lý được
Thomas Bensmann nói.
Xin chào Iain, cảm ơn vì nội dung bài viết. Tôi đã sử dụng ACF trong thuở nào gian dài và đây là lần đầu tiên tôi nghe nói về việc PHP nhanh hơn nhiều so với giải pháp JSON. Tôi khởi đầu tạo một giải pháp giúp tạo mã php tự động và sử dụng giải pháp đó nếu môi trường tự nhiên thiên nhiên được đặt thành sản xuất/trực tiếp. Tôi nghĩ rằng tôi sẽ thử nghiệm nó với một trang web mà tôi duy trì trước. Nó có hơn 300 nghìn bài đăng và hơn 30 nhóm nghành. Sau đó, tôi đã đánh giá thời gian tải của quản trị viên, nhưng tôi không tìm thấy tăng cấp cải tiến nhất quán nào với phiên bản PHP (trong đó những bộ lọc acf_json đã được nhận xét, thư mục chứa json đã được đổi tên và những nhóm trường đã bị xóa khỏi cơ sở tài liệu) so với. phiên bản json hiện tại. Cũng không còn bất kỳ bộ nhớ đệm đối tượng nào có bất kỳ tác động nào ở đây. Bạn hoàn toàn có thể nói rằng rõ hơn về cách bạn trải nghiệm hiệu suất được cải tổ và loại kết quả nào bạn thường nhận thấy không?
Jessica D nói.
Có ai tìm ra cách được cho phép InnerBlocks với giải pháp của ACF không?
công an trưởng nói.
Tôi nhớ tôi đã sử dụng 'trường ma thuật' trước khi tìm thấy ACF. Nếu không còn ACF, tôi sẽ không bao giờ chọn sử dụng WordPress. Về Gutenberg, tôi vừa xóa nó. Johannes Gutenberg chắc như đinh đang đội mồ. Có thể tôi chưa cho nó đủ thời cơ, nhưng tôi sẽ không bao giờ muốn người tiêu dùng chỉ ‘chọn đồ’ – chính bới đó không phải là việc làm của tớ – và đó không phải là nguyên do họ thuê chúng tôi. Có một nguyên do khiến nó có 2/5 sao trước khi nó ở trong lõi. Với nội dung linh hoạt của ACF, tôi hoàn toàn có thể đáp ứng cho họ tất cả những tùy chọn mà người ta muốn – một cách có trách nhiệm. Nội dung ổn định/được xác định rõ ràng là vấn đề khiến WP trở thành một khoản vốn so với SquareSpace – nơi bạn sẽ ghi nó xuống và khởi đầu lại thường niên. Ngoài ra, bạn hoàn toàn có thể xây dựng bảng quản trị với ACF và nội dung linh hoạt – sau đó chỉ việc sử dụng json-api ở nơi khác – và không bao giờ viết bất kỳ PHP nào. CMS miễn phí (và về cơ bản là vô hạn) – thật khó để từ chối
Ricardo Ríos nói.
Có cách nào để điền ACF thả xuống bằng tài liệu JSON bên phía ngoài không?
Iain nói.
Kiểm tra https. //tương hỗ. trường tùy chỉnh nâng cao. com/forums/topic/get-data-from-json-acf-plugin/
lorenhelgeson nói.
Tôi đã sử dụng ACF Pro hơn sáu năm nay. Một điều tôi thực sự thích là nếu bạn có nhu yếu quy đổi khỏi nó, tất cả tài liệu được tàng trữ nguyên bản dưới dạng những trường tùy chỉnh. Tôi vẫn chưa thấy nên phải rời xa nó, nhưng thực tế là nó không phụ thuộc vào mánh khóe hoặc loại bài đăng tùy chỉnh vô nghĩa sẽ bị hỏng khi được thay thế bằng một khối mạng lưới hệ thống khác… Chà, điều đó chỉ khiến nó trở thành người thắng lợi xung quanh. Lưu ý duy nhất là bạn phải thận trọng khi di tán những trang web nếu những trường tùy chỉnh của bạn gồm có tài liệu hình ảnh. Tôi đã di tán hàng trăm trang web và WordPress sẽ vô hiệu ngẫu nhiên những hình ảnh hoặc thay thế chúng bằng những hình ảnh khác nếu trước đó bạn đã tải lên những thành phần Thư viện phương tiện có cùng ID. Tất cả nhiều chủng loại tài liệu khác mà tôi đã thao tác dịch hoàn hảo nhất từ trang dàn dựng sang trang web trực tiếp
Fred S nói.
Yêu ACF cho những khối tùy chỉnh. Không thích giao diện của chúng trong trình sửa đổi trực quan – đặc biệt là những bộ lặp. Đang loay hoay với enqueue_style để làm cho nó hiển thị với chính sách được đặt thành tự động. Tuy nhiên, vẫn chưa tìm được cách ngăn nắp để tổ chức mã (e. g. biên dịch sass thành trình sửa đổi css trên mỗi khối)
Sarah Jayne Fell nói.
Sử dụng ACF, tôi đã tạo nhóm trường "tên nghệ sĩ" bằng phân loại, sau đó chèn nhóm này vào trang sản phẩm của tớ bằng Visual Composer. Tất cả đều ổn ngoại trừ nó hiển thị ID không phải tên. Sau đó, tôi nhận ra rằng mình cần chỉ định đối tượng chứ không phải ID – tuy nhiên ngay sau khi tôi làm điều này, trang sản phẩm của tôi không hề hiển thị hình ảnh hoặc mô tả sản phẩm nữa. Tôi đang sử dụng chủ đề Storefront miễn phí. Khi tôi chuyển từ phân loại sang trường văn bản, nó hoạt động và sinh hoạt giải trí, nhưng tôi cảm thấy có nhiều hiệu suất cao link lâu dài hơn thế nữa với một khuôn khổ (của tên nghệ sĩ đó) hơn là văn bản. Có ai có vấn đề này?
Ray nói.
Tôi rất thích xem bản update của nội dung bài viết này cho ACF 6. + world, nơi hiện tại tài liệu khối được xác định trong. tập tin json. Chỉ có điều tôi vẫn không đủ về quá trình quy đổi
Post a Comment