Tóm tắt nội dung ẩn

WordPress 5.6 là bản phát hành WordPress lớn tiếp theo sẽ sớm có sẵn. Hôm nay, 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.

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 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 để 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.

Có gì mới trong WordPress 5.6
Có gì mới trong WordPress 5.6

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

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 tiế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ác cải tiến về 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ác cải tiến về 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ẽ 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.

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 các 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 thêm vào 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.

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

Mẫu tiêu đề và đoạn văn
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 ).

Hỗ trợ phụ đề video

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

Thêm phụ đề video trong Video Block
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à “đị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 <track>phần tử” ( # 25861 ).

Theo dõi các yếu tố liên kết đến phụ đề bằng các ngôn ngữ khác nhau
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ọ.

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.

Chọn nhiều khối
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.

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

Một khối bìa có mô hình nền
Một khối bìa có mô 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.

Đã thêm Kiểm soát Kích thước Hình ảnh vào Khối Văn bản & Phương tiện

Với Gutenberg 9.1 , một đ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 ).

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

API khối V2

Một mới phiên bản Khối API cho phép các khối để làm cho yếu tố wrapper của họ. 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 apiVersiontính khi đăng ký loại khối:

registerBlockType( name, { apiVersion: 2 } );

API mới cũng yêu cầu useBlockProps hook trong Edithàm 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>;
}

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 dành 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 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 supportstính của tệp block.json hoặc trực tiếp vào registerBlockType hàm .

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

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 has-<value>-<preset-category>lớp (đối với giá trị đặt trước) hoặc với một stylephần tử (đối với giá trị tùy chỉnh).

Vì lý do này, Hỗ trợ khối được thiết kế để 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ụ là khối Cột và khối Liên kết xã hội.

createBlocksFromInnerBlocksTemplateAPI khối mới cho phép bạn tạo các khối từ mẫu InnerBlocks.

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 làm các mục trên thanh công cụ (tức là <button>) đã không còn được dùng nữa. Nhằm mục đích 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>

Tắt 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 core-block-patternscờ hỗ trợ ( # 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.

Chỉnh sửa hình ảnh nội tuyến
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 block_editor_settingsbộ lọc ( # 23966 ):

add_filter( 'block_editor_settings', function( $settings ) {
	$settings['imageEditing'] = false;
	return $settings;
} );

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

Khối tái sử dụng, trước đây là một phần của @wordpress/editorgói, đã được chuyển đến các @wordpress/reusable-blocksgói để làm cho họ có sẵn trong biên tập viên 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.

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

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 cải thiện tính bảo mật của 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 trên blog Bản cập nhật tự động 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 có thể 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ác bản 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à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 .

Bật cập nhật tự động cho tất cả các phiên bản mới của WordPress
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 chính, 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 .

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

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, auto_update_core_majortùy chọn được lưu trữ trong cơ sở dữ liệu với tùy chọn được option_valuebậ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 WP_AUTO_UPDATE_COREhằng số hoặc allow_major_auto_core_updatesbộ lọc 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 WP_AUTO_UPDATE_COREhằng số thành falsehoặc minornhư hình bên dưới (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 giá trị có thể cho WP_AUTO_UPDATE_CORElà true(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 allow_major_auto_core_updatesbộ lọc 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

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 một 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 dường như đã 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à cung cấp 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ố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à theme. 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 thực hiện tương tự đố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ứ chúng 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ỏ bất kỳ phản hồi không hợp lệ nào, ngăn 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ô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à một điểm cuối API REST mới sẽ được sử dụng thay thế. Bắt đầu từ WordPress 5.6, các bài kiểm tra không đồng bộ có thể được tìm thấy trong /wp-json/wp-site-health/v1không gian tên.

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 bài kiểm tra không đồng bộ bây giờ có thể khai báo has_restđối số, đố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 quan tâm đó không tồn tại với các thử nghiệm theo lịch trình.

Với ý nghĩ đó, ngoài has_restđối số mà chúng tôi đã đề cập ở trên, các mảng kiểm tra cũng có thể khai báo async_direct_testđối số (sử dụng đoạn 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.

Mật khẩu ứng dụng trong màn hình Hồ sơ người dùng
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.

Mật khẩu ứng dụng mới
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ách nhau 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ó dấu cách, 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.

Các trường IP Cuối cùng và Sử dụng Cuối cùng
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.

Một cuộc gọi đã xác thực tới REST API trong 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 nhớ 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, biến nó trở thành một cột mốc thực sự trong sự phát triển của ngôn ngữ. 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 được đ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 thêm 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 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 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ác cộng đồng lưu trữ, đượ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.

Quan trọng

Mặc dù phần lớn các điểm không tương thích được xác định thông qua các bài kiểm tra tự động đã được khắc phục, nhưng một số kiểm tra thủ công vẫn được yêu cầu. Vì lý do này, bạn nên chạy các bài kiểm tra tính tương thích nghiêm ngặt trên môi trường tổ chức hoặc cục bộ trước khi nâng cấp trang web trực tiếp của mình lên PHP 8 .

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ên 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ó thể tùy ý bỏ qua các giá trị mặc định.

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 thông số có thể thay đổi mà không cần thông báo cho đến khi hoàn thành kiểm tra 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ố đã đặ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ợ và 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 ném 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 cú pháp tham số nội bộ luôn tạo ra một ThrowErrortrườ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 kiểu không hợp lệ được chuyển đến các hàm Core. Cho đến khi công việc đó hoàn thành, thay đổi PHP 8 này có thể dẫn đến TypeErrors, “đặ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 TypeErrorngoại lệ 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_postshoặ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 wp_after_insert_postaction hook 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. Mới $fire_after_hookstham số đã được thêm vào wp_insert_posts()wp_update_post()và wp_insert_attachment()các chức năng. Nếu được đặt thành false, nó sẽ ngăn không cho bắn các móc chèn sau.

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

Typecasting chức năng intval()strval()floatval()và boolval()đã được gỡ bỏ từ Core ủng hộ typecasting 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 như typecasting trực tiếp là ~ 6x nhanh hơn typecasting chức năng.

3. Đối tượng WP_Error

Các WP_Errorlớp học đã được tăng cường để cho phép sáp nhập nhiều WP_Errortrường hợp 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 WP_Errortrường hợp. Đ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 );


Tóm lại

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 thấy 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 .

Tính đến thời điểm hiện tại: 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 ?

LEAVE A REPLY

Please enter your comment!
Please enter your name here