WordPress 5.6 “Simone” đã ra mắt và chúng tôi rất vui được cùng bạn tìm hiểu sâu về các tính năng và bổ sung thú vị nhất được hợp nhất vào Core với bản phát hành WordPress mới nhất năm 2020.

Giống như các bản phát hành trước, WordPress 5.6 bao gồm một số phiên bản của Trình chỉnh sửa khối nâng cao trải nghiệm chỉnh sửa cho người dùng WordPress chưa cài đặt và cập nhật plugin Gutenberg trên trang web của họ.

Tuy nhiên, không phải tất cả mọi thứ đều là về Trình chỉnh sửa khối. Một số tính năng đã được thêm vào WordPress Core, như chủ đề Twenty Twenty-One mặc định mới, tự động cập nhật cho các bản phát hành chính, hỗ trợ tốt hơn cho PHP 8.0, Mật khẩu ứng dụng cho Xác thực API REST.

Và còn nhiều hơn thế nữa trong WordPress 5.6. Chúng ta sẽ thấy các cải tiến về khả năng truy cập, cải tiến về giao diện người dùng, rất nhiều bản sửa lỗi và danh sách rất lớn các thay đổi dành cho nhà phát triển.

Nếu bạn muốn đọc thêm về chu kỳ phát triển WordPress 5.6, hãy kiểm tra các liên kết bên dưới:

  • 20 tháng 10 năm 2020: Beta 1
  • Ngày 27 tháng 10 năm 2020: Beta 2
  • Ngày 2 tháng 11 năm 2020: Beta 3
  • Ngày 12 tháng 11 năm 2020: Beta 4
  • Ngày 17 tháng 11 năm 2020: RC 1
  • Ngày 7 tháng 12 năm 2020: Chạy khô để phát hành WordPress 5.6
  • Ngày 8 tháng 12 năm 2020: Phát hành WordPress 5.6 “Simone”

Sẵn sàng tham gia? Hãy xem qua:

Có gì mới với Trình chỉnh sửa khối

Với WordPress 5.6, một số phiên bản của plugin Gutenberg đã được hợp nhất thành lõi, vì vậy người dùng và người viết WordPress nên nhận thấy một số cải tiến trong trình chỉnh sửa. Chúng ta sẽ thấy các mẫu khối nâng cao, số lượng từ trong bảng thông tin, điều hướng bàn phím được cải thiện, giao diện người dùng kéo và thả được cải thiện, v.v.

Để có danh sách toàn diện hơn về tất cả các cải tiến và thay đổi được thêm vào trình chỉnh sửa khối, hãy xem các bài đăng thông báo phát hành: 8.6, 8.7, 8.8, 8.9, 9.0, 9.1 và 9.2. Các bản sửa lỗi và cải tiến hiệu suất được triển khai trong Gutenberg 9.3 và 9.4 cũng được bao gồm trong WordPress 5.6.

Hãy đi sâu vào những thay đổi thú vị hơn mà chúng ta sẽ thấy trong trình chỉnh sửa khối.

  1. Cải tiến khối, mẫu và giao diện người dùng
  2. API khối V2
  3. Các tính năng và cải tiến bổ sung dành cho nhà phát triển khối

Cải tiến khối, mẫu và giao diện người dùng

Các tính năng khối mới, cải tiến và sửa lỗi sẽ cải thiện trải nghiệm chỉnh sửa tổng thể. Ngoài ra, công việc tuyệt vời đã được thực hiện về khả năng tiếp cận. Dưới đây, bạn sẽ tìm thấy lựa chọn được lựa chọn cẩn thận của chúng tôi về các tính năng thú vị nhất mà bạn sẽ thấy trong trình chỉnh sửa khối khi bạn cập nhật trang web của mình lên WordPress 5.6.

Kiểm soát vị trí cho video trong khối bìa

Được thêm vào Cover Blocks kể từ Gutenberg 8.6, điều khiển vị trí cho video cho phép người dùng di chuyển tiêu điểm xung quanh và đặt vị trí tùy chỉnh cho video. Chức năng này trước đây chỉ có sẵn cho nền hình ảnh.

Video Position Controls for Cover Block
Điều khiển vị trí video cho khối che

Giá trị vị trí được đặt bằng cách nhấp vào bất kỳ đâu trên bộ chọn tiêu điểm và / hoặc sử dụng các phím mũi tên trên bàn phím của bạn. Bạn có thể tăng giá trị lên 10 bằng cách giữ phím shift (xem thêm # 22531).

Cập nhật mẫu khối

WordPress 5.6 cũng bao gồm một số cải tiến về mẫu khối được bổ sung với Gutenberg 8.6.

Bố cục, văn bản và màu sắc của đầu trang Lớn và đoạn văn đã được cập nhật (# 23858)

Tiêu đề trong Hai cột văn bản đã được chuyển ra khỏi khối văn bản và được đặt phía trên các cột (# 23853)

Mẫu Quote hiện bao gồm một hình ảnh ở trên cùng và một dấu phân cách ở dưới cùng.

Quote pattern
Mẫu Trích dẫn mới bao gồm một hình ảnh và một dấu phân tách

Một mẫu Tiêu đề và đoạn văn mới đã được thêm vào với Gutenberg 8.7 (# 24143).

Heading and Paragraph pattern
Mẫu tiêu đề và đoạn văn trong WordPress 5.6

Một cải tiến tốt về khả năng sử dụng cho trình chèn khối là danh mục mẫu khối thả xuống, cho phép bạn lọc các mẫu theo danh mục. Điều này cực kỳ hữu ích khi bạn có rất nhiều mẫu để lựa chọn (# 24954).

The block pattern category dropdown
Danh mục mẫu khối thả xuống

Hỗ trợ phụ đề video

Video Blocks hiện hỗ trợ phụ đề video.

video subtitles
Thêm phụ đề video trong Video Block

Người biên tập và người tạo nội dung nên cung cấp phụ đề video ở định dạng WebVTT (Định dạng đoạn đường văn bản video trên web), là “một định dạng để hiển thị các đoạn văn bản được định thời gian (chẳng hạn như phụ đề hoặc chú thích) bằng cách sử dụng phần tử <track> ” (# 25861).

track elements
Theo dõi các yếu tố liên kết đến phụ đề bằng các ngôn ngữ khác nhau

Khi bạn đã tải các tệp .vtt của mình, người xem trang web sẽ được phép bật phụ đề bằng ngôn ngữ yêu thích của họ.

Video subtitles user settings
Cài đặt người dùng phụ đề video

Chuyển đổi nhiều khối thành một khối cột

Một cải tiến thú vị về khả năng sử dụng là khả năng chuyển đổi nhiều khối được chọn thành Khối cột.

Select multiple blocks
Chọn nhiều khối

Bạn chỉ cần chọn các khối bạn muốn hiển thị trong các cột, sau đó nhấp vào nút phía trên bên phải của thanh công cụ khối.

Mỗi khối được chọn sẽ được chuyển đổi thành một cột của Khối Cột.

columns block
Ba khối được chuyển đổi thành ba cột

Các mẫu nền trong khối bìa

Các khối bìa hiện có thể hiển thị các mẫu nền.

A cover block with a background pattern
Một khối bìa có hình nền

Để thêm hình nền, hãy tải lên hình ảnh mẫu, sau đó bật tùy chọn Nền lặp lại (đây là mọi thứ bạn cần biết về Thư viện phương tiện trong WordPress).

Khi hoàn tất, hãy điều chỉnh bộ chọn tiêu điểm theo nhu cầu của bạn và thử các cách kết hợp khác nhau với nền cố định.

Kiểm soát kích thước hình ảnh đã được thêm vào Media & Text Block

Với Gutenberg 9.1, điều khiển kích thước hình ảnh mới đã được thêm vào hình ảnh trong Media & Text Block.

Người dùng hiện có thể chọn từ tất cả các kích thước hình ảnh có sẵn (# 24795).

Image Size Control
Kiểm soát kích thước hình ảnh trong Media & Text Block

API khối V2

Phiên bản API khối mới cho phép các khối hiển thị phần tử trình bao bọc của chúng. Mục tiêu của phiên bản API mới là làm sáng tỏ DOM của trình soạn thảo và làm cho nó phù hợp với nội dung trang nhất. Theo Ella van Durpe:

Lợi ích lớn nhất của việc này là các chủ đề và plugin có thể dễ dàng tạo kiểu nội dung khối hơn nếu đánh dấu giống nhau trong trình chỉnh sửa.

Phiên bản mới yêu cầu khai báo thuộc tính apiVersion khi đăng ký loại khối:

registerBlockType( name, { apiVersion: 2 } );

API mới cũng yêu cầu móc useBlockProps trong chức năng Edit khối. Dấu móc này đánh dấu phần tử bao bọc của một khối là một phần tử khối.

Bất kỳ thuộc tính nào được chuyển đến hook này sẽ được hợp nhất và trả về phần tử wrapper. Ví dụ sau từ ghi chú của nhà phát triển cho thấy một trường hợp sử dụng đơn giản:

import { useBlockProps } from '@wordpress/block-editor'; function Edit( { attributes } ) { const blockProps = useBlockProps( { className: someClassName, style: { color: 'blue' }, } ); return <p { ...blockProps }>{ attributes.content }</p>; }

Để biết thêm ví dụ, hãy xem Block API phiên bản 2.

Các tính năng và cải tiến bổ sung dành cho nhà phát triển khối

Bên cạnh Block API Phiên bản 2, đây là danh sách các bổ sung cho các nhà phát triển.

API hỗ trợ khối

API hỗ trợ khối cho phép các nhà phát triển khối thêm các tính năng vào khối của họ. Màu sắc, hình nền, kích thước phông chữ chỉ là một vài trong số rất nhiều tính năng có thể được thêm vào các khối thông qua API hỗ trợ khối.

WordPress 5.6 cũng giới thiệu một số hỗ trợ khối mới “để tăng tính nhất quán và giúp đưa các tùy chọn này vào các khối dễ dàng hơn”.

Các nhà phát triển có thể sử dụng khối mới hỗ trợ thêm các khóa tương ứng vào thuộc tính supports của tệp block.json hoặc trực tiếp vào chức năng registerBlockType .

Ví dụ sau từ ghi chú dành cho nhà phát triển Block Support cho thấy nó hoạt động như thế nào:

supports: { color: { background: true, // Enable background color UI control. gradient: true, // Enable gradient color UI control. text: true // Enable text color UI control. }, fontSize: true, // Enable font size UI control. lineHeight: true // Enable line height UI control. }

Giá trị kiểu sẽ được tự động gắn vào phần tử trình bao bọc thông qua lớp has-<value>-<preset-category> (đối với giá trị đặt trước) hoặc với phần tử style (đối với giá trị tùy chỉnh).

Vì lý do này, Hỗ trợ khối được dự định sẽ được sử dụng với API khối mới V2.

Hỗ trợ khối cũng có thể được sử dụng với các khối động.

API createBlocksFromInnerBlocksTemplate

Các nhà phát triển có thể sử dụng thành phần InnerBlocks để tạo các khối tùy chỉnh chứa các khối khác. Ví dụ như khối Cột và khối Liên kết xã hội.

API khối createBlocksFromInnerBlocksTemplate mới cho phép bạn tạo khối từ mẫu InnerBlocks.

Xem ghi chú của nhà phát triển để biết chế độ xem depper và ví dụ về mã.

Thành phần Thanh công cụ

Một số thay đổi cũng ảnh hưởng đến các thành phần của Thanh công cụ:

1. Thành phần nhóm thanh công cụ

Trước WordPress 5.6, thành phần Thanh công cụ cho phép các nhà phát triển nhóm các tùy chọn liên quan trong một vùng chứa chung. Bây giờ, một thành phần ToolbarGroup mới sẽ được sử dụng thay thế.

<BlockControls> <ToolbarGroup> <ToolbarButton /> </ToolbarGroup> </BlockControls>
2. Thành phần ToolbarButton và ToolbarItem

Việc sử dụng các phần tử có thể tab trực tiếp dưới dạng các mục trên thanh công cụ (tức là <button> ) đã không được dùng nữa. Nhằm cải thiện khả năng truy cập, các mục trên thanh công cụ có thể được thêm bằng cách sử dụng ToolbarButton cho các nút và ToolbarItem cho các điều khiển khác. Ví dụ dưới đây cho thấy một nút và một menu thả xuống:

<BlockControls> <ToolbarItem as="button" /> <ToolbarButton /> <ToolbarItem> { ( itemProps ) => ( <DropdownMenu toggleProps={ itemProps } /> ) } </ToolbarItem> </BlockControls>

Vô hiệu hóa các mẫu khối cốt lõi

Các mẫu cốt lõi hiện có thể bị vô hiệu hóa bằng cách sử dụng cờ hỗ trợ core-block-patterns (# 24042)

Tắt trình chỉnh sửa hình ảnh nội tuyến

Gutenberg 8.4 đã thêm tính năng Chỉnh sửa Hình ảnh Nội tuyến cho phép người dùng chỉnh sửa hình ảnh trực tiếp từ Trình chỉnh sửa Khối.

Inline Image Editing
Chỉnh sửa hình ảnh nội tuyến

Các nhà phát triển hiện có thể tắt Trình chỉnh sửa hình ảnh bằng bộ lọc block_editor_settings (# 23966):

add_filter( 'block_editor_settings', function( $settings ) { $settings['imageEditing'] = false; return $settings; } );
Inline Image Editing disabled
Đã tắt Chỉnh sửa Hình ảnh Nội tuyến

Các khối có thể tái sử dụng được chuyển sang một gói riêng biệt

Các khối có thể tái sử dụng, trước đây là một phần của gói @wordpress/editor , đã được chuyển sang gói @wordpress/reusable-blocks để cung cấp chúng trong các trình soạn thảo khác.

Một chủ đề mặc định mới: Twenty Twenty-One

WordPress 5.6 bao gồm một chủ đề mặc định hoàn toàn mới. Twenty Twenty-One là một chủ đề WordPress tối giản, dễ tiếp cận với bố cục một cột và một thanh bên chân trang.

Chủ đề mới sử dụng ngăn xếp phông chữ hệ thống và bảng màu tối thiểu dựa trên màu nền phấn.

Twenty Twenty-One
Bản xem trước chủ đề Twenty Twenty-One (Nguồn ảnh: Make WordPress Core)

Bạn có thể đọc nhiều hơn về Twenty Twenty-One trong bài đăng blog chuyên sâu của chúng tôi: Twenty Twenty-One: A Deep Dive into the New Default WordPress Theme.

Tự động cập nhật cho các bản phát hành chính

Cập nhật tự động là một tính năng cốt lõi được giới thiệu trong WordPress 3.7 nhằm mục đích cải thiện bảo mật trang web và giúp quản trị viên trang web dễ dàng duy trì cập nhật trang web WordPress của họ.

Mặc dù các bản cập nhật cốt lõi nhỏ tự động đã được triển khai trong các phiên bản trước đó, nhưng với WordPress 5.6, quản trị viên trang web hiện có thể kích hoạt thủ công các bản cập nhật tự động cho các bản phát hành chính (nhiều hơn thế nữa trong một giây).

Thật không may, nhiệm vụ bảo trì quan trọng này vẫn có thể hơi khó hiểu đối với người dùng không rành về công nghệ. Bạn có thể đọc thêm về cách hoạt động của các bản cập nhật tự động trong bài đăng blog Deep Dive Into WordPress Automatic Updates của chúng tôi.

Vì vậy, WordPress 5.6 giới thiệu một giao diện mới cho phép quản trị viên trang web kích hoạt tự động cập nhật cho các bản phát hành cốt lõi chính.

Phạm vi của tính năng này đã thay đổi trong chu kỳ phiên bản beta của WordPress 5.6 và ghi chú ban đầu của nhà phát triển đã được thay thế. Theo lời của Jb Audras,

Phạm vi ban đầu của cập nhật tự động Core đã chuyển sang:

  • Cung cấp một số cập nhật cho thiết kế của giao diện người dùng.
  • Đối với các bản cài đặt hiện có, hoạt động sẽ vẫn giống như hiện nay: chọn tham gia các bản cập nhật nhỏ theo mặc định, nhưng người dùng phải chọn tham gia các bản cập nhật lớn (các hằng số và bộ lọc đã được máy chủ hoặc đại lý sử dụng sẽ vẫn sử dụng quyền ưu tiên).
  • Đối với các cài đặt mới, hành vi mặc định sẽ thay đổi: chọn tham gia các bản cập nhật nhỏ theo mặc định và chọn tham gia các bản cập nhật lớn theo mặc định.

Bắt đầu với WordPress 5.6, bạn có thể chọn tham gia cập nhật tự động cho các phiên bản cốt lõi chính trong màn hình Cập nhật , nơi giao diện người dùng mới cung cấp hộp kiểm cho phép bạn bật cập nhật tự động cho tất cả các phiên bản mới của WordPress .

Enable automatic updates
Bật cập nhật tự động cho tất cả các phiên bản mới của WordPress

Khi bạn đã bật cập nhật tự động cốt lõi cho các bản phát hành lớn, sau đó bạn có thể kích hoạt chúng để kích hoạt bảo trì và bảo mật chỉ bằng cách nhấp vào Chuyển sang cập nhật tự động chỉ dành cho các bản phát hành bảo trì và bảo mật .

Đăng kí để nhận thư mới

Disable automatic updates
Chuyển sang cập nhật tự động chỉ dành cho các bản phát hành bảo trì và bảo mật

Các bản cập nhật cốt lõi tự động chính cho nhà phát triển

Đầu tiên, khi các bản cập nhật tự động lõi chính được bật, tùy chọn auto_update_core_major được lưu trữ trong cơ sở dữ liệu với tùy chọn option_value được bật. Vì vậy, nếu get_site_option( 'auto_update_core_major' ) trả về true , hộp kiểm cập nhật tự động sẽ được chọn.

Sau đó, WordPress kiểm tra xem các cập nhật tự động cốt lõi chính có được bật hay không thông qua hằng số WP_AUTO_UPDATE_CORE hoặc bộ lọc allow_major_auto_core_updates và đặt hộp kiểm cho phù hợp.

Các nhà phát triển cũng có thể vô hiệu hóa các cập nhật tự động cốt lõi chính bằng cách đặt hằng số WP_AUTO_UPDATE_CORE thành false hoặc minor như hình dưới đây (xem thêm Kiểm soát cập nhật nền thông qua wp-config.php):

# Disables all core updates: define( 'WP_AUTO_UPDATE_CORE', false ); # Enables minor updates: define( 'WP_AUTO_UPDATE_CORE', 'minor' );

Lưu ý rằng các giá trị có thể có cho WP_AUTO_UPDATE_COREtrue (tất cả), 'beta' , 'rc' , 'minor' , false .

Một tùy chọn khác để tắt tự động cập nhật lõi chính theo mặc định là sử dụng bộ lọc allow_major_auto_core_updates mới:

add_filter( 'allow_major_auto_core_updates', '_return_false' );

Một vài nhận xét về việc thêm tự động cập nhật vào lõi

Quay trở lại tháng 12 năm 2018, Matt Mullenweg đã chia sẻ chín ưu tiên cho năm 2019, trong đó “Cung cấp cách để người dùng chọn tham gia cập nhật tự động các bản phát hành Core chính” là số 7. Có thể hơi muộn, nhưng chúng tôi đang đạt được điều đó.

Các bản cập nhật lõi tự động lớn sẽ có tác động lớn đến bảo mật và trải nghiệm tổng thể của WordPress. Một điều có vẻ rõ ràng: từ quan điểm kỹ thuật, tính năng cập nhật lõi tự động chính là một nhiệm vụ phức tạp không hoàn thành 100% với bản phát hành WordPress 5.6.

Sau khi thảo luận kỹ lưỡng về Slack, Josepha Haden đã tóm tắt những mối quan tâm và câu hỏi đến từ các cộng tác viên cốt lõi.

Mục tiêu dài hạn chính là có sẵn các bản cập nhật tự động trong phần lớn các trang web WordPress để cải thiện bảo mật trên toàn bộ hệ sinh thái WordPress (hơn 30% web).

Dù sao, theo Helen Hou-Sandí, Nhà phát triển chính cốt lõi:

Theo suy nghĩ của tôi, có một số thứ kỹ thuật rất khó thực hiện và điều này cần một số quyền sở hữu sản phẩm kỹ thuật RẤT kỷ luật và tập trung

Vì vậy, chúng ta sẽ thấy các thay đổi và cải tiến bổ sung đối với giao diện người dùng cập nhật lõi tự động chính theo thời gian. Đây là những gì chúng ta có thể mong đợi từ bây giờ:

WordPress 5.6:

  • Trong các bản cài đặt hiện có, người dùng phải bật các bản cập nhật lớn . Bất kỳ hằng số và bộ lọc nào đã được sử dụng sẽ được ưu tiên. Các cập nhật nhỏ được bật theo mặc định.
  • Trong các bản cài đặt mới, cả bản cập nhật nhỏ và lớn đều được bật theo mặc định .

WordPress 5.6.1:

  • Chúng ta sẽ thấy một số thay đổi đối với giao diện người dùng tự động cập nhật cốt lõi dựa trên phản hồi.

WordPress 5.7:

  • Một cú huých sẽ được thêm vào màn hình Trạng thái trang web cho bất kỳ ai chọn không tham gia các cập nhật tự động lớn.
  • Một tùy chọn tự động cập nhật sẽ được thêm vào quá trình cài đặt trong WordPress 5.7.

Một mối quan tâm lớn với các bản cập nhật tự động cốt lõi là sự tin tưởng của người dùng. Theo Helen:

Tôi tin rằng chúng ta vẫn có thể làm được nhiều việc để chủ động thu hút sự tin tưởng của người dùng, đặc biệt là những người đã từng có trải nghiệm xấu với WordPress và / hoặc các bản cập nhật

Tuy nhiên, mỗi trang web WordPress là sự kết hợp của Core, plugin và chủ đề. Theo lời của Helen:

Các bản cập nhật cốt lõi nói chung là khá an toàn và có một số biện pháp bảo vệ được tích hợp sẵn, nhưng vì các trang web có thể chạy bất kỳ mã nào từ bất kỳ nguồn nào, nên không có cái gọi là “100%” cho “mọi loại trang web WordPress”.

Người dùng có bật tính năng tự động cập nhật cốt lõi nên thường xuyên sao lưu trang web của họ hoặc chọn một máy chủ web cung cấp bản sao lưu tự động trong kế hoạch của họ.

Tự động cập nhật cốt lõi cũng sẽ ảnh hưởng đến trải nghiệm cập nhật tổng thể, bao gồm cập nhật tự động plugin và chủ đề. Joost de Valk đã lưu ý trong một bình luận:

Nếu chúng tôi bật tự động cập nhật lõi WordPress theo mặc định, chúng tôi cũng nên làm như vậy đối với các plugin. Nếu không, các plugin và chủ đề không thể cập nhật những thứ họ cần sửa do các bản cập nhật cốt lõi. Tôi nghĩ rằng người dùng cũng sẽ mong đợi điều này: nếu WordPress tự động cập nhật, các plugin và chủ đề cũng sẽ tự động cập nhật.

Các thay đổi về tình trạng trang web trong WordPress 5.6

Cùng với tất cả các tính năng được thảo luận ở đây, WordPress 5.6 cũng mang đến một phiên bản cải tiến của công cụ Site Health, hiện hoạt động khác trong nền.

Xác thực dữ liệu kiểm tra tình trạng trang web

Trình xác thực hiện kiểm tra các phản hồi vấn đề cho các bài kiểm tra Tình trạng trang web. Trình xác thực sẽ loại bỏ mọi phản hồi không hợp lệ, ngăn không cho công cụ Trạng thái trang web gây ra lỗi nghiêm trọng và tạm dừng bất kỳ kiểm soát nào khác.

Từ bây giờ, các phản hồi không hợp lệ sẽ không ảnh hưởng đến chỉ báo Trạng thái trang web (# 50145).

Kiểm tra không đồng bộ qua REST Endpoind

Công cụ Trạng thái trang web là một công cụ bảo mật mạnh mẽ cho phép chủ sở hữu trang web nhận thức được tình trạng sức khỏe của trang web của họ.

Cần một giải pháp lưu trữ mang lại cho bạn lợi thế cạnh tranh? Kinsta giúp bạn bao phủ bởi tốc độ đáng kinh ngạc, bảo mật hiện đại và tự động mở rộng. Kiểm tra các kế hoạch của chúng tôi

Công cụ này thực hiện một số kiểm tra bảo mật cung cấp tổng quan về tình trạng trang web của bạn.

Các thử nghiệm này chia thành hai loại: thử nghiệm trực tiếp , chạy khi tải trang và thử nghiệm không đồng bộ, có thể cần một thời gian để hoàn thành và sẽ chạy sau đó thông qua các lệnh gọi JavaScript.

Trước đây, các bài kiểm tra này đã được thực hiện bằng lệnh gọi tới admin-ajax.php. Với WordPress 5.6, mọi thứ đang thay đổi khỏi admin-ajax.php và điểm cuối REST API mới sẽ được sử dụng thay thế. Bắt đầu từ WordPress 5.6, bạn có thể tìm thấy các bài kiểm tra không đồng bộ trong không gian tên /wp-json/wp-site-health/v1 .

Nhờ cải tiến API REST mới, các plugin và chủ đề cũng có thể sử dụng các điểm cuối REST và không giới hạn ở các hành động Ajax cho các bài kiểm tra sức khỏe của chúng.

Mỗi kiểm tra không đồng bộ giờ đây có thể khai báo đối số has_rest , đối số này được mặc định là false .

Đoạn mã dưới đây từ wp-admin / include / class-wp-site-health.php hiển thị mảng các bài kiểm tra không đồng bộ trong WordPress 5.6:

'async' => array( 'dotorg_communication' => array( 'label' => __( 'Communication with WordPress.org' ), 'test' => rest_url( 'wp-site-health/v1/tests/dotorg-communication' ), 'has_rest' => true, 'async_direct_test' => array( WP_Site_Health::get_instance(), 'get_test_dotorg_communication' ), ), 'background_updates' => array( 'label' => __( 'Background updates' ), 'test' => rest_url( 'wp-site-health/v1/tests/background-updates' ), 'has_rest' => true, 'async_direct_test' => array( WP_Site_Health::get_instance(), 'get_test_background_updates' ), ), 'loopback_requests' => array( 'label' => __( 'Loopback request' ), 'test' => rest_url( 'wp-site-health/v1/tests/loopback-requests' ), 'has_rest' => true, 'async_direct_test' => array( WP_Site_Health::get_instance(), 'get_test_loopback_requests' ), ), 'authorization_header' => array( 'label' => __( 'Authorization header' ), 'test' => rest_url( 'wp-site-health/v1/tests/authorization-header' ), 'has_rest' => true, 'headers' => array( 'Authorization' => 'Basic ' . base64_encode( 'user:pwd' ) ), 'skip_cron' => true, ), ),

Kiểm tra tình trạng trang web đã lên lịch :

Mặc dù các thử nghiệm không đồng bộ đã được triển khai để ngăn trang tải chậm và hết thời gian, nhưng mối lo ngại đó không tồn tại với các thử nghiệm theo lịch trình.

Với ý nghĩ đó, ngoài đối số has_rest mà chúng tôi đã đề cập ở trên, các mảng kiểm tra cũng có thể khai báo đối số async_direct_test (sử dụng mã ở trên), đây phải là một phiên bản có thể gọi của kiểm tra.

Nếu kiểm tra được chạy trong một sự kiện đã lên lịch, kiểm tra sẽ không sử dụng điểm cuối API REST mà sẽ chạy trực tiếp.

Mật khẩu ứng dụng để xác thực API REST

Mật khẩu ứng dụng là một hệ thống mới để thực hiện các yêu cầu đã xác thực tới các API WordPress khác nhau.

Mật khẩu dài 24 ký tự và bao gồm các ký tự viết hoa, viết thường và số, có thể được tạo theo cách thủ công hoặc thông qua API REST.

Để tạo mật khẩu ứng dụng mới theo cách thủ công, hãy duyệt đến màn hình Hồ sơ của bạn và cuộn xuống trang.

Application Passwords
Mật khẩu ứng dụng trong màn hình Hồ sơ người dùng

Chọn tên cho Mật khẩu ứng dụng của bạn và xác nhận. WordPress sẽ hiển thị mật khẩu mới của bạn.

A new application password
Mật khẩu ứng dụng mới

Mật khẩu ứng dụng được hiển thị thành các đoạn 4 ký tự, được phân tách bằng dấu cách, như hình dưới đây:

gsUc UhkU 0ScI gdRd TGoU vrW5

Tuy nhiên, mật khẩu có thể được sử dụng có hoặc không có dấu cách:

Mật khẩu ứng dụng được chuyển lại thông qua quy trình ủy quyền không bao gồm dấu cách. Chúng nghiêm ngặt ở đó để giúp ai đó nhìn chằm chằm vào một chuỗi dài dễ dàng giữ vị trí của họ nếu nhập thủ công.

Chúng có thể được sử dụng thành từng đoạn, không có khoảng trắng, hoặc – heck – nếu bạn muốn, bạn có thể thêm khoảng trắng sau mỗi ký tự.

Trong màn hình Hồ sơ người dùng, bạn có thể xem, tạo và thu hồi mật khẩu ứng dụng. Cột Last IP và Last IP giúp bạn dễ dàng tìm ra những mật khẩu không còn được sử dụng nữa cần được thu hồi.

Last Used and Last IP fields
Các trường IP Cuối cùng và Sử dụng Cuối cùng

Tại thời điểm viết bài này, Mật khẩu ứng dụng có thể được sử dụng với các yêu cầu đã xác thực API REST và với API XML-RPC kế thừa. Tuy nhiên, chúng ta sẽ thấy Mật khẩu ứng dụng được sử dụng với các API bổ sung trong tương lai. George Stephanis giải thích:

Lược đồ xác thực mật khẩu ứng dụng cũng có thể được áp dụng cho các API trong tương lai của WordPress khi chúng có sẵn. Ví dụ: nếu GraphQL hoặc các hệ thống khác được bật trong WordPress, mật khẩu ứng dụng sẽ cung cấp cho chúng một cơ sở hạ tầng xác thực vững chắc, được thiết lập để xây dựng hoàn toàn.

An authenticated call to the REST API in Postman
Một cuộc gọi đã xác thực tới REST API trong Postman

Không thể sử dụng Mật khẩu ứng dụng trên wp-login.php .

Để có cái nhìn sâu hơn về tính năng này và hiểu rõ hơn về kỹ thuật, hãy đảm bảo kiểm tra các tài nguyên sau:

  • Đề xuất: Xác thực API REST / Mật khẩu ứng dụng
  • Mật khẩu ứng dụng: Hướng dẫn tích hợp
  • Plugin tính năng Mật khẩu ứng dụng

Hỗ trợ tốt hơn cho PHP 8

PHP 8.0 mang đến rất nhiều tính năng mới và tối ưu hóa, khiến nó trở thành một cột mốc thực sự trong quá trình phát triển của ngôn ngữ này. Phiên bản PHP mới hơn giới thiệu nhiều bản cập nhật phá vỡ khả năng tương thích ngược và nhiều tính năng không dùng nữa hiện đã chính thức bị loại bỏ. Vì vậy, thêm hỗ trợ cho PHP 8 trong WordPress là một thách thức lớn.

Trên thực tế, ngay cả khi những người đóng góp cho WordPress Core đã nỗ lực rất nhiều để làm cho WordPress 5.6 tương thích với PHP 8, chúng ta không nên mong đợi rằng mọi vấn đề có thể sẽ được phát hiện. Mục tiêu ở đây là đạt đến điểm mà toàn bộ hệ sinh thái WordPress tương thích với PHP 8, điều này có vẻ thực sự là một vấn đề khó bẻ khóa vào lúc này.

Hơn nữa, một trang web WordPress bao gồm ít nhất một chủ đề và một số plugin khác nhau. Vì vậy, những gì chúng tôi có thể mong đợi là hỗ trợ tốt cho PHP 8 trong WordPress Core, nhưng thật khó tin rằng các plugin và chủ đề sẽ nhanh chóng bổ sung hỗ trợ cho PHP 8.

Chúng tôi đồng ý với Jonathan Desrosiers khi anh ấy tuyên bố:

Không thể biết được trạng thái hỗ trợ của PHP 8 trong hệ sinh thái rộng lớn hơn (plugin, chủ đề, v.v.). Vì lý do đó, WordPress 5.6 nên được coi là “tương thích với phiên bản beta” với PHP 8.

“Beta tương thích với PHP 8” có vẻ là một cách diễn đạt tốt để đại diện cho một quá trình đang diễn ra vẫn đòi hỏi nhiều nỗ lực, nhưng đồng thời cũng thừa nhận những công việc tuyệt vời đã được thực hiện cho đến nay.

Tuy nhiên,

Tất cả các nhà phát triển plugin và chủ đề, cũng như cộng đồng lưu trữ, đều được kêu gọi làm cho mã của họ tương thích với PHP 8. Điều này sẽ cho phép WordPress đạt được “khả năng tương thích hoàn toàn” thực sự sớm hơn và người dùng cuối không phải gánh nặng.

Một số thay đổi PHP 8 cần lưu ý

Như chúng tôi đã đề cập ở trên, việc làm cho WordPress hoàn toàn tương thích với PHP 8 là một công việc đang được tiến hành. Jonathan Desrosiers cung cấp danh sách các tính năng của PHP 8 và những thay đổi mà các nhà phát triển WordPress nên biết.

Tham số được đặt tên

Với các đối số được đặt tên trong PHP giờ đây có thể truyền các đối số cho một hàm dựa trên tên tham số, thay vì vị trí tham số. Điều này cho phép viết mã tự lập tài liệu, các đối số không phụ thuộc vào thứ tự và các giá trị mặc định có thể được tùy ý bỏ qua.

Thật không may, các tham số được đặt tên hiện tại có thể gây ra sự cố tương thích ngược trong WordPress. Lý do chính là tên các tham số có thể thay đổi mà không cần thông báo cho đến khi hoàn thành việc đánh giá hiện tại. Vì vậy, tại thời điểm viết bài này:

Việc sử dụng các tham số được đặt tên khi gọi các hàm và phương thức lớp WordPress rõ ràng không được hỗ trợrất không được khuyến khích cho đến khi quá trình kiểm tra này có thể hoàn thành, vì trong quá trình kiểm tra, tên tham số có thể thay đổi mà không cần thông báo. Khi quá trình kiểm tra này đã hoàn thành, nó sẽ được thông báo trong một ghi chú của nhà phát triển trong tương lai.

Xác thực loại / giá trị nghiêm ngặt cho các chức năng nội bộ

Khi truyền một tham số kiểu không hợp lệ, các hàm nội bộ và do người dùng xác định sẽ hoạt động khác nhau. Các hàm do người dùng định nghĩa sẽ đưa ra một TypeError , nhưng các hàm bên trong hoạt động theo nhiều cách khác nhau, tùy thuộc vào một số điều kiện.

Để loại bỏ những mâu thuẫn này, trong PHP 8, các API phân tích tham số nội bộ luôn tạo ra ThrowError trong trường hợp loại tham số không khớp.

Khai báo kiểu nghiêm ngặt không được sử dụng trong WordPress Core. Tuy nhiên, những người đóng góp cốt lõi đang làm việc để ngăn chặn các loại không hợp lệ được chuyển đến các chức năng cốt lõi. Cho đến khi công việc đó hoàn thành, sự thay đổi PHP 8 này có thể dẫn đến TypeError , “đặc biệt nếu kiểu của giá trị bị thay đổi không chính xác thông qua mã được nối với bộ lọc”.

Kiểm tra loại chặt chẽ hơn cho các toán tử số học và bitwise

Trong các phiên bản trước của PHP, việc sử dụng toán tử số học và bitwise cho mảng, tài nguyên hoặc đối tượng không quá tải được cho phép, nhưng hành vi này không nhất quán và thậm chí đôi khi không hợp lý:

var_dump([] % [42]); // int(0)

Với PHP 8, hành vi luôn giống nhau và tất cả các toán tử số học và bitwise sẽ ném ra một ngoại lệ TypeError khi toán hạng là một mảng, tài nguyên hoặc đối tượng không quá tải (xem RFC).

Đây là một thay đổi khác đòi hỏi một số công việc bổ sung từ những người đóng góp cốt lõi, như nhiều lỗi, cảnh báo và thay đổi thông báo.

Một lần nữa, do một số vấn đề vẫn chưa được giải quyết, bạn nên chạy các bài kiểm tra khả năng tương thích trên môi trường phát triển hoặc dàn dựng trước khi chuyển sang PHP 8 trên trang web trực tiếp của mình. Đọc thêm về WordPress và PHP 8.0.

Các thay đổi bổ sung dành cho nhà phát triển

WordPress 5.6 giới thiệu rất nhiều thay đổi cho các nhà phát triển và chúng tôi không thể đưa tất cả vào danh sách của mình. Nhưng đây là top 3 mà chúng tôi nghĩ là đáng xem:

1. Móc tác vụ wp_ after_insert_post

Trước WordPress 5.6, bạn có thể sử dụng save_posts hoặc các hành động tương tự để chạy mã tùy chỉnh sau khi bài đăng được xuất bản. Bây giờ WordPress 5.6 giới thiệu hook hành động wp_after_insert_post mới, chỉ kích hoạt khi các điều khoản và siêu dữ liệu đã được lưu.

Ngoài ra, một số chức năng đã được cập nhật để ngăn những móc đó bị bắn. Tham số $fire_after_hooks mới đã được thêm vào các wp_insert_posts() , wp_update_post()wp_insert_attachment() . Nếu được đặt thành false , nó sẽ ngăn các móc chèn sau được kích hoạt.

Kiểm tra ghi chú của nhà phát triển để có cái nhìn tổng quan sâu hơn.

2. Đánh máy

Các hàm đánh máy intval() , strval() , floatval()boolval() đã bị loại bỏ khỏi Core để hỗ trợ đánh máy trực tiếp:

  1. intval()(int)
  2. strval()(string)
  3. floatval()(float)

Sự thay đổi này có ảnh hưởng trực tiếp đến hiệu suất vì tính năng đánh máy trực tiếp nhanh hơn ~ 6 lần so với các chức năng in chữ.

3. Đối tượng WP_Error

Lớp WP_Error đã được cải tiến để cho phép hợp nhất nhiều trường hợp WP_Error thành một. Trước đây bạn chỉ có thể làm điều đó theo cách thủ công. Bây giờ, WordPress 5.6 giới thiệu ba phương pháp mới để giúp xử lý nhiều trường hợp WP_Error . Đoạn mã dưới đây là một ví dụ từ ghi chú của nhà phát triển:

<?php $error_1 = new WP_Error( 'code1', 'This is my first error message.', 'Error_Data' ); $error_2 = new WP_Error( 'code2', 'This is my second error message.', 'Error_Data2' ); // Merge from another WP_Error. $error_1->merge_from( $error_2 ); // Retrieve all error data, optionally for a specific error code. $error_1->get_all_error_data( 'code2' ); // Export to another WP_Error $error_1->export_to( $error_2 );

Các bài đọc thêm dành cho nhà phát triển

Không thể đề cập đến tất cả các thay đổi tập trung vào phát triển được giới thiệu bởi WordPress 5.6, nhưng bạn có thể đọc thêm về chúng bằng cách sử dụng các tài nguyên sau:

  • Cập nhật phiên bản jQuery đi kèm với WordPress
  • Cập nhật core jQuery lên phiên bản 3 – phần 2
  • WordPress và PHP 8.0
  • REST API Batch Framework trong WordPress 5.6
  • Các thay đổi tập trung vào nhà phát triển khác trong WordPress 5.6

Bản tóm tắt

WordPress 5.6 là một bản phát hành lớn với rất nhiều tính năng và thay đổi cho cả người dùng và nhà phát triển. Chúng tôi luôn hào hứng muốn biết sự phát triển của công nghệ web ảnh hưởng trực tiếp đến bảo mật, hiệu suất, khả năng sử dụng và khả năng truy cập của WordPress như thế nào.

Nhưng sự phát triển không bao giờ dừng lại và chúng ta đã có thể xem xét các ngày phát hành tiềm năng trong tương lai.

Cho đến bây giờ: Bạn thích điều gì nhất trong WordPress 5.6? Và bạn muốn thêm những tính năng nào vào WordPress 5.7?


Tiết kiệm thời gian, chi phí và tối đa hóa hiệu suất trang web với:

  • Trợ giúp tức thì từ các chuyên gia lưu trữ WordPress, 24/7.
  • Tích hợp Cloudflare Enterprise.
  • Tiếp cận khán giả toàn cầu với 34 trung tâm dữ liệu trên toàn thế giới.
  • Tối ưu hóa với Giám sát Hiệu suất Ứng dụng được tích hợp sẵn của chúng tôi.

Tất cả những điều đó và hơn thế nữa, trong một kế hoạch không có hợp đồng dài hạn, di chuyển được hỗ trợ và bảo đảm hoàn tiền trong 30 ngày. Kiểm tra các kế hoạch của chúng tôi hoặc nói chuyện với bộ phận bán hàng để tìm ra kế hoạch phù hợp với bạn.