Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Body_Class (Chuỗi | chuỗi [] & nbsp; $ class & nbsp; = & nbsp; '' & nbsp;)string|string[] $class = '' )

Hiển thị tên lớp cho phần tử cơ thể.


.page {
	/* styles for all posts within the page class */
}
.page-id-2 {
	/* styles for only page ID number 2 */
}
.logged-in {
	/* styles for all pageviews when the user is logged in */
}
3 Chuỗi | Chuỗi [] Tùy chọnstring|string[] Optional

Chuỗi phân tách không gian hoặc mảng tên lớp để thêm vào danh sách lớp.

Mặc định:

.page {
	/* styles for all posts within the page class */
}
.page-id-2 {
	/* styles for only page ID number 2 */
}
.logged-in {
	/* styles for all pageviews when the user is logged in */
}
4


Chức năng này cung cấp cho các phần tử cơ thể các lớp khác nhau và có thể được thêm vào, thông thường, trong thẻ cơ thể HTML tiêu đề.php.

Cách sử dụng cơ bản

Ví dụ sau đây cho thấy cách thực hiện thẻ mẫu body_class thành một chủ đề.

>

Đầu ra HTML thực tế có thể giống với một cái gì đó như thế này (trang Giới thiệu từ thử nghiệm đơn vị chủ đề):

[HTML] [/HTML]

[/html]

Trong bảng kiểu chủ đề WordPress, thêm các kiểu phù hợp, chẳng hạn như:

.page {
	/* styles for all posts within the page class */
}
.page-id-2 {
	/* styles for only page ID number 2 */
}
.logged-in {
	/* styles for all pageviews when the user is logged in */
}

Tệp:

.page {
	/* styles for all posts within the page class */
}
.page-id-2 {
	/* styles for only page ID number 2 */
}
.logged-in {
	/* styles for all pageviews when the user is logged in */
}
5. Xem tất cả các tài liệu tham khảo

function body_class( $class = '' ) {
	// Separates class names with a single space, collates class names for body element.
	echo 'class="' . esc_attr( implode( ' ', get_body_class( $class ) ) ) . '"';
}

Xem trên Tracview trên GitHub View on GitHub



Thay đổi
Phiên bảnSự mô tả
2.8.0 Được giới thiệu.

WordPress, theo mặc định, thêm rất nhiều lớp CSS khác nhau mà bạn có thể sử dụng để tùy chỉnh trang web của mình. Một số trong số chúng có thể được tìm thấy trong yếu tố. Chúng được tạo ra nhờ hàm body_class () và thường được sử dụng cho mục đích tạo kiểu.

Cho dù bạn là một nhà phát triển trẻ và đầy tham vọng, muốn mở rộng kiến ​​thức WordPress hiện tại của bạn hoặc chủ sở hữu trang web WordPress muốn tìm hiểu các thủ thuật tạo kiểu bổ sung, tìm hiểu thêm về chức năng này có thể khá xứng đáng. Vì lý do này, chúng tôi đã quyết định tạo bài viết này trên WordPress Body_Class và việc sử dụng của nó.

Không có thêm Ado, chúng ta hãy bắt đầu. Ở đây, những gì chúng tôi sẽ nói về:

WordPress body_ class là gì và khi nào nó được sử dụng

Hàm WordPress Body_Class () chịu trách nhiệm hiển thị tất cả các tên lớp cho phần tử trên mỗi trang hoặc bài đăng của WordPress. Đây là lý do tại sao cuộc gọi đến chức năng này thường được chèn bên trong tệp tiêu đề.php của bất kỳ chủ đề nào, vì tệp đó tải trên bất kỳ trang hoặc bài đăng nào. Chính xác hơn, gọi đến hàm body_class () thường được chèn trực tiếp sau thẻ mở.

Ví dụ, chúng tôi đã bao gồm một ảnh chụp màn hình của tệp tiêu đề.php thuộc chủ đề Lekker mà chúng tôi đã sử dụng cho bài viết. Trong ảnh chụp màn hình, thẻ mở và gọi đến hàm body_class () đã được tô sáng.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Điều đó nói rằng, hàm body_class () là một phần của các tệp lõi WordPress và được đặt trong tệp in-inpludes/post-template.php của WP. Nhìn kỹ hơn vào hàm cho thấy rằng nó chỉ đơn giản là lặp lại thuộc tính lớp, cùng với tất cả các tên lớp được tạo bằng hàm get_body_class (), cũng là một phần của tệp đã đề cập trước đó.

Đối với hàm get_body_class (), nó tạo ra một mảng tên lớp cơ thể một cách linh hoạt, dựa trên trang hoặc bài đăng bạn đang bật. Ví dụ: nó có thể tạo các lớp như nhà, blog, chính sách bảo mật hoặc tìm kiếm trang chủ, trang blog, chính sách bảo mật và trang tìm kiếm của bạn. Theo đó, nếu một trang có một mẫu trang nhất định được bật, các lớp như bảng trang hoặc bảng trang trang- cũng được thêm vào. Mặt khác, các bài đăng có thể có các lớp như đơn, đơn hoặc postid-, tài liệu lưu trữ có thể có các lớp như Lưu trữ, Thanh lý sau, Tác giả-, Thể loại-, TAG-, TAX-, v.v.home, blog, privacy-policy or search for your homepage, blog page, privacy policy, and search page, respectively. Following that, if a page has a certain page template enabled, classes like page-template or page-template- are also added. On the other hand, posts can have classes like single, single- or postid-, archives can have classes like archive, post-type-archive, author-, category-, tag-, tax-, and so on.

Đối với những người tự hỏi mục đích của ký hiệu là gì, chỉ đơn giản là giới thiệu rằng trong một số trường hợp, ngay cả một phần của tên lớp cũng có thể được tạo ra một cách linh hoạt. Ví dụ: một bài đăng có ID 321 sẽ có lớp PostID-321, một mục tùy chỉnh danh mục đầu tư có thể có một lớp mục tiêu danh một mặt Tác giả có thể có một lớp tác giả-John-doe, nếu tên đẹp của anh ấy là John Doe.a post with the ID of 321 will have the class of postid-321, a portfolio custom type item could have a class of single-portfolio-item, if portfolio-item is the slug of that custom post type, while an author could have a class of author-john-doe, if his nice name is John Doe.

Điều đó nói rằng, có các lớp hữu ích bổ sung như đăng nhập, quản trị viên, RTL hoặc WP-Custom-Logo, tương ứng với các điều kiện cụ thể được đáp ứng trên một trang hoặc bài đăng cụ thể. Hơn nữa, một trang hoặc bài đăng cũng có thể chứa một số lớp tùy chỉnh, đây sẽ là chủ đề chính của bài viết này.logged-in, admin-bar, rtl, or wp-custom-logo, corresponding to the specific conditions met on a particular page or post. Furthermore, a page or post can also contain some custom classes, which will be the main topic of this article.

Nhưng, trước khi chúng ta đi sâu vào bài viết của bài viết này, chúng ta vẫn phải giải thích cách thiết lập tên lớp cơ thể nào trên trang hiện tại hoặc bài đăng và cách sử dụng các lớp này hoặc bất kỳ lớp nào.

Đầu tiên, để tìm ra tất cả các tên lớp cơ thể của bất kỳ trang hoặc bài đăng nào, bạn cần kiểm tra nó bằng công cụ kiểm tra trình duyệt. Để làm như vậy, hãy mở một trang hoặc đăng bạn muốn kiểm tra và nhấp chuột phải ở bất cứ đâu trong đó. Sau đó, nhấp vào tùy chọn Kiểm tra trên mạng từ menu mở ra.open a page or post you wish to inspect and right-click anywhere within it. Then, click the “Inspect” option from the menu that opens.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Điều này sẽ mở các công cụ nhà phát triển của trình duyệt hiện tại của bạn và đặt bạn trong tab các phần tử, trên phần tử HTML mà bạn đã nhấp chuột phải, cũng sẽ được tô sáng trên trang.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Trong khi tạo mã CSS phù hợp, bạn cần kiểm tra cấu trúc HTML của một phần tử hoặc một phần của trang nhất định. Trong trường hợp này, bạn chỉ cần xác định vị trí thẻ mở. Để làm như vậy, cuộn lên đỉnh của cấu trúc HTML bằng cách sử dụng bộ kéo bên. Đã tìm thấy thẻ mở, bạn sẽ thấy tất cả các tên lớp của trang hiện tại hoặc đăng sau phần của lớp =.scroll to the top of the HTML structure using the side scroller. Having found the opening tag, you will see all the class names of the current page or post after the class=” part.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Một cái nhìn gần hơn về ảnh chụp màn hình trước đó cho thấy một số lớp WordPress mặc định mà chúng tôi đã thảo luận (được tô sáng bên dưới) trộn với các lớp bổ sung được thêm vào chủ đề Lekker, các plugin được đóng gói hoặc các plugin bên thứ ba bổ sung như Elementor.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Đã chỉ ra rằng, điều duy nhất còn lại là giải thích làm thế nào các tên lớp cơ thể này có thể được sử dụng và tại sao trong một số trường hợp, việc thêm tên lớp mới có thể có lợi hơn.

Tên lớp cơ thể mới và các lớp cơ thể mới

Nói chung, bạn có thể sử dụng một hoặc nhiều tên lớp cơ thể để áp dụng các quy tắc kiểu CSS cụ thể dành cho tất cả các trang chia sẻ lớp cụ thể đó/các lớp cụ thể đó. Khi nói đến việc chọn bộ chọn CSS phù hợp cho mã CSS, có hai cách tiếp cận bạn có thể thực hiện. Đầu tiên, bạn chỉ có thể sử dụng các lớp cơ thể, nếu bạn muốn áp dụng một bộ quy tắc CSS trực tiếp vào phần tử có các lớp đó.

Có nghĩa là, bạn sẽ sử dụng các bộ chọn như .Body-Class-name (ví dụ: .Home, .Page, .PostID-27, v.v.) hoặc các bộ chọn sử dụng nhiều tên lớp được tham gia vào bộ chọn lớp CSS số ít (ví dụ:. Trang. Trang-Tấm-DEFAULT.LOGGED-IN). Làm như vậy, bạn sẽ áp dụng các quy tắc CSS cho yếu tố của các trang có tên lớp cơ thể cụ thể hoặc có tất cả các tên lớp cơ thể được sử dụng, tương ứng.

Và, trong khi có một số giá trị để áp dụng các quy tắc CSS cho phần tử, vì một số thuộc tính CSS có thể được kế thừa cho các phần tử HTML bên trong, thì thông thường hơn là viết mã CSS nhắm mục tiêu các phần tử HTML cụ thể trên các trang được ký hiệu bởi tên lớp cơ thể . Để làm như vậy, bạn sẽ cần tạo một bộ chọn CSS bổ sung và nối nó vào các bộ chọn tên lớp cơ thể mà chúng tôi đã đề cập trước đây. Có nghĩa là, thường xuyên hơn, mã CSS của bạn sẽ có cấu trúc của ví dụ sau.

  {
// CSS rules go here
}

Tất nhiên, để tạo bộ chọn CSS bổ sung này, cũng như bất kỳ quy tắc CSS nào được sử dụng, bạn sẽ cần ít nhất là một sự hiểu biết cơ bản về mã CSS. Nhưng, ngay cả khi bạn vượt qua trở ngại này, trong một số trường hợp, các lớp mặc định được cung cấp bởi chức năng body_class () aren đủ để tạo kiểu đúng cách các trang bạn cần. Đây là lý do tại sao một số plugin và chủ đề bao gồm các tên lớp cơ thể tùy chỉnh được đặt dựa trên các chức năng mà chúng tương quan.

Bằng cách đó, bạn sẽ có nhiều cách hơn để tạo kiểu cho các trang và bài đăng theo nhu cầu của bạn. Hơn nữa, bạn thậm chí có thể mở rộng phạm vi kiểu dáng của mình bằng cách thêm các lớp cơ thể tùy chỉnh vào các trang và bài đăng cụ thể hoặc các loại trang và bài đăng. Chúng tôi sẽ đề cập nhiều hơn về chủ đề này trong phần sau của bài viết.

Mặc dù chủ đề của bạn hoặc một số plugin của bạn cũng có thể bao gồm các tên lớp cụ thể của họ được in bằng hàm body_class (), trong bài viết này, chúng tôi sẽ đề cập đến hai cách bạn có thể tự mình làm - bằng cách sử dụng plugin WordPress phù hợp hoặc plugin phù hợp thông qua các đoạn mã tùy chỉnh.

Cách thêm lớp cơ thể tùy chỉnh trong WordPress bằng plugin

Mặc dù không có nhiều plugin mới hơn cho mục đích này, chúng tôi đã có thể tìm thấy một plugin WordPress cũ hơn có tên là lớp cơ thể tùy chỉnh mà chúng tôi đã thử nghiệm và thấy nó hoạt động hoàn hảo với phiên bản WordPress mới nhất. Plugin đã được tạo ra dành riêng cho mục đích thích hợp này và cung cấp một bộ chức năng rất hạn chế mà chúng tôi sẽ đề cập bên dưới. Hãy để chúng tôi bắt đầu.

Sau khi cài đặt và kích hoạt plugin, điều hướng đến cài đặt> phần lớp cơ thể tùy chỉnh. Plugin cung cấp hai cách để thêm một lớp cơ thể tùy chỉnh trong WordPress. Đầu tiên là thêm một lớp toàn cầu vào tất cả các trang và bài đăng của bạn, trong khi thứ hai là bật hộp Meta lớp tùy chỉnh trên tất cả các loại bài đăng, bao gồm các loại bài đăng tùy chỉnh để bạn có thể chèn một lớp cụ thể trên một trang hoặc bài đăng cụ thể. Ngoài ra, plugin chỉ cung cấp một cách để hạn chế việc sử dụng cho quản trị viên, có tùy chọn tự động hoàn chỉnh, cũng như một cách khác để vô hiệu hóa chức năng của nó.navigate to the Settings > Custom Body Class section. The plugin offers two ways of adding a custom body class in WordPress. The first is to add a global class to all your pages and posts, while the second is to enable a custom class meta box on all post types, including custom post types so you can insert a specific class on a specific page or post. Apart from that, the plugin offers a way to restrict its usage to administrators only, has an autocomplete option, as well as an alternative way of disabling its functionality.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Tuy nhiên, trong bài viết này, chúng tôi đã giành được tập trung vào các chức năng bổ sung này mà plugin cung cấp nhưng chỉ nói về hai cách sử dụng nó. Đầu tiên, để thêm một lớp toàn cầu vào tất cả các trang và bài đăng của bạn, hãy nhập tên của lớp toàn cầu của bạn vào trường đầu vào bên cạnh nhãn Global Global Class và nhấp vào nút Lưu Thay đổi.enter the name of your global class in the input field next to the “Global Class” label and click the “Save Changes” button.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Sau đó, lớp tùy chỉnh mà bạn chèn sẽ là một phần của thuộc tính lớp của thẻ, mà bạn có thể thấy bằng cách kiểm tra bất kỳ trang web hoặc bài đăng nào của bạn bằng các công cụ phát triển của trình duyệt hiện tại của bạn. Những người không chắc chắn làm thế nào để kiểm tra một trang hoặc bài đăng được khuyên nên xem xét phần trước của bài viết này, trong đó chúng tôi đã đưa ra một tổng quan chung về các lớp cơ thể WordPress, tức là tên lớp và cách họ có thể được kiểm tra.

Phải nói rằng, ví dụ, chúng tôi đã thêm một lớp gọi là MY-GLOBAL-CSS-Class, có thể thấy trong ảnh chụp màn hình dưới đây. Tuy nhiên, vì chủ đề của bạn hoặc một số plugin khác cũng có thể bao gồm các lớp tùy chỉnh của họ, việc tìm lớp CSS được thêm vào có thể hơi khó khăn. Do đó, chúng tôi khuyên rằng việc nhấp vào thẻ HTML trong tab các phần tử và nhấn đồng thời các khóa CTRL và F (CMD và F, cho người dùng MacOS) để kích hoạt và sử dụng tính năng tìm kiếm. Sau đó, bạn có thể tìm kiếm cụ thể cho lớp được thêm vào, sẽ được tô sáng như trên ảnh chụp màn hình của chúng tôi bên dưới, nếu nó được thêm vào thành công.my-global-css-class, which can be seen in the screenshot below. However, as your theme or some other plugins may also include their custom classes, finding the added CSS class can be a bit difficult. Thus, we advise clicking on a HTML tag within the Elements tab and pressing the Ctrl and F keys (Cmd and F, for macOS users) simultaneously to activate and use the search feature. Then, you can search for the added class specifically, which will be highlighted as on our screenshot below, if it was added successfully.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Sau khi đảm bảo lớp CSS được thêm thành công, bạn có thể tạo các quy tắc kiểu CSS phù hợp mà bạn muốn áp dụng cho lớp đó, do đó áp dụng chúng cho tất cả các trang và bài đăng trên trang web của bạn. Một ví dụ có thể được đưa ra dưới đây. Không cần phải nói, để nó hoạt động đúng, bạn sẽ cần thay thế trình giữ chỗ của My-Global-CSS-Class-Class bằng tên thực tế của lớp mà bạn đã thêm trước đó, cũng như thay thế dòng bình luận bằng các quy tắc CSS có liên quan.“my-global-css-class” placeholder with the actual name of the class that you added previously, as well as replace the comment line with relevant CSS rules.

.my-global-css-class {
// CSS rules go here
}

Phải nói rằng, chúng ta hãy tiếp tục sử dụng trường hợp sử dụng thứ hai của plugin lớp cơ thể tùy chỉnh - cho phép các lớp Meta Box. Để làm như vậy, điều hướng đến Cài đặt> Phần lớp cơ thể tùy chỉnh và xác định vị trí các loại bài đăng của các tùy chọn. Ở đó, bạn sẽ có thể xem tất cả các loại bài đăng đã đăng ký trên trang web của bạn và đánh dấu vào hộp kiểm bên cạnh một (các) bạn muốn kích hoạt hộp Meta của lớp. Sau khi bật nó bằng cách sử dụng các tùy chọn plugin, bạn sẽ cần xác định vị trí hộp Meta trên một trang cụ thể hoặc bài đăng và sử dụng nó, chúng tôi sẽ đề cập bên dưới. Đánh dấu vào các hộp kiểm bên cạnh các loại bài đăng mà bạn muốn bật hộp Meta này và nhấp vào nút Lưu Thay đổi Thay đổi.navigate to the Settings > Custom Body Class section and locate the Post Types part of the options. There, you will be able to see all the post types registered on your website and tick the checkbox next to the one(s) for which you wish to enable the Classes meta box. After enabling it using the plugin options, you will need to locate the meta box on a specific page or post and use it, which we will cover below. Tick the checkboxes next to post types for which you wish to enable this meta box and click the “Save Changes” button.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Đối với việc sử dụng hộp meta này, nó giống nhau bất kể loại bài đăng bạn chọn. Tuy nhiên, chúng tôi sẽ chỉ ra làm thế nào nó có thể là cả cho một trang và mục danh mục đầu tư, đây là loại bài đăng tùy chỉnh được bật bởi chủ đề Lekker mà chúng tôi đang sử dụng trong ví dụ của chúng tôi. Lý do tại sao chúng tôi gọi hộp Meta là hộp Meta của lớp là do nó có các lớp từ như một phần của tiêu đề.

Tuy nhiên, để tạo thành tiêu đề hộp meta đầy đủ, từ này được đặt trước tên của loại bài viết tùy chỉnh. Có nghĩa là, đối với các trang, nó sẽ được đặt tên là các lớp trang, cho các mục danh mục đầu tư, nó sẽ là các lớp mục danh mục đầu tư, cho các lớp sản phẩm - sản phẩm, v.v. Phải nói rằng, chúng ta hãy tiến hành.

Để thêm lớp CSS tùy chỉnh vào một trang cụ thể, bấm vào để chỉnh sửa trang đó và xác định vị trí của phần hộp Meta Classes ở bên phải.click to edit that page and locate the Page classes meta box section on the right.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Bạn sẽ tìm thấy một trường số ít với một trình giữ chỗ nêu rõ Nhấp vào đây để thêm các lớp học. Bằng cách nhấp vào nó, bạn sẽ có thể thêm một lớp CSS sẽ đi trước một dấu chấm (.), Tức là hiển thị dưới dạng bộ chọn CSS phù hợp. Để lưu những gì bạn đã làm, hãy nhấp vào nút Cập nhật trên mạng. Tất nhiên, bạn có thể thêm nhiều lớp CSS vào trang cụ thể đó bằng cách lặp lại quy trình đã nêu ở trên hoặc xóa một số lớp mà trước đây bạn đã chèn bằng cách sử dụng liên kết của X X bên cạnh chúng. Đối với bài viết này, chúng tôi đã thêm một lớp có tên là lớp dành riêng cho trang, như được thấy dưới đây.find a singular field with a placeholder stating “Click here to add classes”. By clicking on it, you will be able to add a CSS class which will be preceded with a dot(.), i.e. showing in the form of a suitable CSS selector. To save what you have done, click the “Update” button afterward. Of course, you can add multiple CSS classes to that particular page by repeating the above-mentioned process or remove some classes that you previously inserted by using the “X” link next to them. For this article, we have added a class named page-specific-class, as seen below.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Sau đó, lớp này có thể được quan sát là một phần của các lớp được gán cho thẻ trên trang cụ thể đó, khi được kiểm tra bằng công cụ Trình duyệt trình duyệt.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Sau đó, để chỉ áp dụng một kiểu dáng cụ thể trên trang cụ thể đó, bạn chỉ có thể thêm các quy tắc CSS nhắm mục tiêu lớp CSS đã đề cập ở trên. Đây là một ví dụ cho trường hợp của chúng tôi:

.page-specific-class {
// CSS rules go here
}

Tất nhiên, để sử dụng mã này, bạn sẽ cần thay thế phần lớp dành riêng cho trang bằng lớp CSS mà bạn đã thêm và thay thế dòng bình luận bằng các quy tắc CSS tương ứng.

Ngoài ra, chúng tôi phải đề cập đến những việc cần làm nếu bạn không thể tìm thấy hộp Meta Lớp trang ban đầu. Nếu bạn đang sử dụng màn hình Trình soạn thảo Gutenberg, thì có thể bảng điều khiển lớp trang chỉ đơn giản là được bật. Để bật nó, nhấp vào menu ba dấu chấm ở góc trên bên phải của màn hình và nhấp vào tùy chọn Tùy chọn Tùy chọn từ menu xuất hiện.click on the three dots menu in the top-right corner of the screen and click on the “Preferences” option from the menu that appears.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Điều này sẽ mở cửa sổ bật lên Tùy chọn và định vị bạn trong tab Chung. Mở tab Panels và đảm bảo rằng bảng điều khiển lớp trang được bật. Sau đó, bạn có thể đóng cửa sổ bật lên tùy chọn và tiến hành thêm lớp dành riêng cho trang như đã đề cập ở trên.Open the Panels tab and make sure that the Page classes panel is on. Then, you can close the Preferences popup window and proceed to add the page-specific class as mentioned above.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Điều này kết thúc phần của chúng tôi về việc thêm các lớp CSS dành riêng cho trang và việc sử dụng của nó. Như đã đề cập, chúng tôi cũng sẽ giới thiệu cách bạn có thể thêm lớp CSS vào thẻ cơ thể của một bài đăng danh mục đầu tư cụ thể. Mặc dù mục Danh mục đầu tư là một loại bài đăng tùy chỉnh cụ thể được cung cấp bởi chủ đề Lekker mà chúng tôi đang sử dụng, nhưng các bước tương tự chúng tôi sẽ đề cập dưới đây có thể được thực hiện cho bất kỳ loại bài đăng tùy chỉnh nào khác. Hơn nữa, chúng tôi đã cố tình sử dụng màn hình Trình soạn thảo cổ điển lần này để hiển thị một bộ các bước tương đương với bước mà chúng tôi đã mô tả ở trên. Điều đó nói rằng, chúng ta hãy tiến hành.

Để tìm hộp Meta của lớp trên mục loại bài đăng tùy chỉnh của bạn, bấm vào để chỉnh sửa nó và xác định vị trí hộp Meta Lớp tên CPT, trong đó phần CPT CPT tên được thay thế bằng tên loại bài tùy chỉnh tương ứng. Trong trường hợp của chúng tôi, đó là các lớp mục Danh mục đầu tư chuyển hóa, như đã đề cập trước đây.click to edit it and locate the CPT name classes meta box, where the “CPT name” part is replaced with the corresponding custom post type name. In our case, that is the Portfolio Item classes metabox, as previously mentioned.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Đã tìm thấy nó, nhấp vào hộp meta và thêm một lớp cụ thể vào mục bài đăng đó. Sau đó, nhấp vào nút Cập nhật trên mạng để lưu các thay đổi bạn đã thực hiện. click the meta box and add a specific class to that post item. Afterward, click the ”Update” button to save the changes you made.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Trong ví dụ này, chúng tôi đã sử dụng danh mục đầu tư cụ thể theo danh mục đầu tư của nhóm làm tên lớp. Tất nhiên, một khi được thêm vào theo cách này, lớp đó sẽ là một trong nhiều lớp CSS thẻ trên mục bài đăng cụ thể đó, như đã thấy khi kiểm tra mục sử dụng các công cụ nhà phát triển.“portfolio-item-specific-class” as the class name. Of course, once added in this manner, that class will be one of many tag CSS classes on that particular post item, as seen when inspecting the item using developer tools.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Sau đó, để sử dụng nó, bạn sẽ cần viết một số mã CSS tương tự như ví dụ của chúng tôi dưới đây, với cả lớp CSS và dòng bình luận được thay thế khi thích hợp.

.portfolio-item-specific-class {
// CSS rules go here
}

Cuối cùng, như chúng tôi đã làm với ví dụ trước đây của chúng tôi, chúng tôi không thể đề cập đến những gì bạn nên làm nếu không thể nhìn thấy hộp Meta Lớp Meta của CPT. Nếu bạn đang sử dụng trình soạn thảo cổ điển như chúng tôi có trong ví dụ này, bạn chỉ có thể bật hộp Meta trong các tùy chọn màn hình.

Để làm như vậy, hãy xác định vị trí các tùy chọn màn hình ở góc trên bên phải màn hình của bạn và nhấp để mở phần. Sau đó, xác định vị trí tùy chọn Lớp tên CPT trong phần phụ của các phần tử màn hình và đánh dấu vào nó. Sau đó, nhấp vào các tùy chọn màn hình một lần nữa để ẩn chúng và tiến hành thêm lớp CSS theo cách chúng tôi đã thảo luận ở trên. locate the Screen Options in the top-right corner of your screen and click to open the section. Then, locate the CPT name classes option within the Screen elements subsection and tick it on. Afterward, click on the Screen Options once more to hide them and proceed to add a CSS class in the manner we discussed above.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Với nó, chúng tôi kết thúc tổng quan của chúng tôi về plugin lớp cơ thể tùy chỉnh.

Cách thêm lớp cơ thể tùy chỉnh trong WordPress bằng mã

Ngoài việc sử dụng plugin WordPress, việc thêm lớp CSS mới vào thẻ của các trang và bài đăng có thể được thực hiện với một chút mã tùy chỉnh. Mặc dù đây không phải là sự lựa chọn ưa thích của nhiều người dùng WordPress, cách tiếp cận DIY có thể khá hiệu quả khi thêm các chức năng mới và thay đổi các chức năng hiện có. Và, trong trường hợp cụ thể này, nó chỉ yêu cầu một lượng kiến ​​thức mã hóa vừa phải.

Tuy nhiên, chúng tôi sẽ cố gắng giải thích các ví dụ mã mà chúng tôi đã chuẩn bị cho bài viết này để chúng có thể hiểu được cho tất cả người dùng WordPress. Nhưng, trong phần này của bài viết, chúng tôi sẽ chỉ tập trung vào mã cho phép bạn thêm tên lớp cơ thể CSS bổ sung. Để biết thêm các mẹo về việc tạo mã CSS sử dụng tên lớp CSS được thêm vào, chúng tôi khuyên bạn nên đọc phần đầu tiên của bài viết này, cũng như tổng quan chung của chúng tôi về mã CSS.

Ngoài ra, như một biện pháp phòng ngừa, chúng tôi khuyên bạn nên sao lưu trang web của bạn trước khi chèn bất kỳ đoạn mã nào được bao gồm dưới đây. Hơn nữa, vì việc chèn những đoạn trích đó đòi hỏi ít nhất là một sự hiểu biết cơ bản về FTP, chúng tôi cũng khuyên bạn nên cải thiện kiến ​​thức của bạn về chủ đề đó. Đã làm điều đó, tiến hành như mô tả dưới đây.

Trong bài viết này, chúng tôi sẽ đề cập đến cách bạn có thể thêm tên lớp cơ thể tùy chỉnh bằng cách tạo các chức năng phù hợp và móc chúng vào móc bộ lọc Body_Class chịu trách nhiệm lọc tên lớp cơ thể nào sẽ được hiển thị cho bất kỳ trang hoặc bài đăng nào. Tất nhiên, để hiểu quá trình này, bạn cần có ít nhất một sự hiểu biết cơ bản về những cái móc WordPress là gì và cách chúng được sử dụng. Vì lý do đó, chúng tôi sẽ thực hiện một cái nhìn tổng quan nhanh về chủ đề của các móc WordPress trước khi đi vào đoạn mã mà chúng tôi đã chuẩn bị cho bài viết.

Móc WordPress là các phần mã trình giữ chỗ do các nhà phát triển để lại để người dùng WordPress tiên tiến khác có thể sử dụng chúng để thêm các chức năng mới hoặc thay đổi các chức năng hiện có. Đó là lý do tại sao các móc WordPress được chia thành hai loại - móc hành động, được sử dụng để thêm các chức năng mới và móc lọc, được sử dụng để thay đổi các loại hiện có.pieces of placeholder code left by developers so that other advanced WordPress users can use them for adding new functionalities or changing existing ones. That is why WordPress hooks are divided into two categories – action hooks, used for adding new functionalities, and filter hooks, which are used to change existing ones.

Sử dụng các móc WordPress yêu cầu bạn viết các chức năng tùy chỉnh, được gọi là các chức năng gọi lại hoặc gọi lại, với mã cho phép một chức năng nhất định. Nhưng, để nó hoạt động, chức năng gọi lại cần phải được nối với một móc WordPress phù hợp. Điều này được thực hiện bằng cách sử dụng hàm add_action () cho các móc hành động và hàm add_filter () cho các móc lọc. Cả hai hàm đều chấp nhận cùng bốn đối số: tên của hook, tên của hàm gọi lại, mức độ ưu tiên của nó và số lượng đối số tối đa mà hàm gọi lại có thể chấp nhận theo thứ tự đó. Trong bốn đối số này, trong hầu hết các trường hợp, chỉ có hai đối số đầu tiên được sử dụng, giả sử các giá trị mặc định cho hai đối tượng còn lại.

Và trong khi phần khó nhất của việc sử dụng các hook wordpress là tìm ra hook hành động hoặc bộ lọc phù hợp, trong trường hợp cụ thể này, nó không phải là một vấn đề. Đối với bài viết này, chúng tôi sẽ sử dụng móc lọc cũng có trong tệp In-Includes/Post-Template.php của WP, được gọi là theo cách tương tự như hàm đó là chủ đề chính của chúng tôi-Body_Class. Để sử dụng móc lọc này, bạn sẽ cần viết các đoạn tùy chỉnh tương tự như ví dụ giả sau:

function name-of-the-function( some-variables-go-here ) {
// Some code goes here
return $one-of-the-variables;
}
add_filter( 'body_class', 'name-of-the-function' );

Loại ví dụ này sẽ có ý nghĩa hơn nhiều sau khi xem xét các ví dụ thực tế mà chúng tôi đã chuẩn bị cho bài viết. Do đó, chúng tôi khuyên bạn nên xem xét đoạn mã này một lần nữa sau khi xem qua các ví dụ chúng tôi để lại bên dưới.

Điều đó nói rằng, vẫn còn một cái gì đó chúng ta phải thêm. Mặc dù sử dụng các móc WordPress có thể được coi là một thực tiễn khó khăn, nhưng nó có giá trị chỉnh sửa trực tiếp các tệp mẫu, được thực hiện trong quá khứ. Vì tất cả các mã tùy chỉnh phải được chèn vào tệp function.php của chủ đề con bạn hoặc plugin dành riêng cho trang web, bạn đã thắng phải lo lắng về việc mất nó sau khi cập nhật các tệp chủ đề, plugin hoặc tệp lõi WordPress. Hơn nữa, bằng cách lưu trữ nó theo cách như vậy và thông qua các thực tiễn đặt tên chức năng phù hợp, bạn sẽ có một cách dễ dàng để theo dõi tất cả các tùy chỉnh mã hóa mà bạn đã thêm vào một trang web WordPress.

Phải nói rằng, chúng ta hãy tiến hành các đoạn mã.

Tên lớp cơ thể toàn cầu

Thêm một tên lớp cơ thể toàn cầu là một cách rõ ràng để bắt đầu các đoạn mã hóa của chúng tôi. Nó cũng là một phần của plugin chúng tôi đề cập ở trên, vì nó cho phép bạn viết mã CSS có thể được áp dụng cho mỗi trang và bài đăng. Đoạn mã có liên quan được bao gồm dưới đây.

function qode_add_global_body_class( $classes ) {
$classes[] = 'qode-global-css-class';
return $classes;
}
add_filter( 'body_class', 'qode_add_global_body_class' );

Mã của nó khá đơn giản - nó thể hiện hàm gọi lại tùy chỉnh có tên là Qode_ADD_Global_Body_Class () được nối vào bộ lọc Body_Class. Trong chức năng gọi lại, chúng tôi đã thêm lớp tùy chỉnh của chúng tôi có tên Qode-Global-CSS-Class vào biến các lớp $, sau đó được trả về. Biến này đại diện cho một mảng của tất cả các tên lớp cơ thể cho trang hoặc bài đăng hiện tại.qode_add_global_body_class() which is hooked onto the body_class filter. In the callback function, we have added our custom class called qode-global-css-class to the $classes variable, which is then returned. This variable represents an array of all the body class names for the current page or post.

Nhưng, vì chức năng gọi lại của chúng tôi không bao gồm bất kỳ câu lệnh có điều kiện nào có thể hạn chế phạm vi của lớp CSS được thêm vào, nên lớp được thêm vào sẽ là một phần của thẻ cho tất cả các trang và bài đăng. Do đó, mã trên thể hiện cách đơn giản nhất để thêm tên lớp cơ thể toàn cầu. Như đã đề cập ở trên, tên lớp được thêm vào có thể được nhìn thấy khi kiểm tra bất kỳ trang nào hoặc đăng bằng cách sử dụng các công cụ nhà phát triển của trình duyệt hiện tại của bạn. Sau đó, tên lớp nói có thể được sử dụng làm bộ chọn CSS hoặc một phần của bộ chọn CSS cho mã có nghĩa là được áp dụng trên toàn cầu.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Điều này kết thúc ví dụ của chúng tôi về lớp cơ thể toàn cầu. Trong ba ví dụ sau, chúng tôi sẽ giới thiệu việc sử dụng các câu lệnh có điều kiện để hạn chế phạm vi của tên lớp được thêm vào, đó là cách tiếp cận phổ biến hơn khi sử dụng móc lọc body_class.

Tên lớp cơ thể có điều kiện

Trong khi một lớp CSS toàn cầu có một số cách sử dụng trong việc áp dụng một số quy tắc CSS nhất định cho tất cả các trang và bài đăng, thì nhiều khả năng bạn sẽ cần phân biệt các quy tắc CSS nhất định và chỉ áp dụng chúng cho một số bài đăng hoặc một số trang hoặc một nhóm trong số chúng. Ví dụ: bạn có thể chỉ cần áp dụng một số cách điệu trên trang chủ của bạn hoặc cho tất cả các trang danh mục đầu tư của bạn, bài đăng trên blog, sản phẩm, v.v. Do đó, bạn sẽ cần sửa đổi mã đã đề cập ở trên để nó bao gồm một điều kiện nhất định trong đó lớp mong muốn được thêm vào. Để làm điều đó, bạn sẽ cần bao gồm một câu lệnh có điều kiện với thẻ có điều kiện trong mã của chức năng gọi lại của bạn.

Do đó, một ví dụ có thể có về đoạn mã mà bạn sẽ phải tạo sẽ trông như sau:

function name_of_the_function( $classes ) {
if ( condition-goes-here ) {
/*
Some code that assigns a new class
to the $classes[] variable.
*/
}
return $classes;
}
add_filter( 'body_class', 'name_of_the_function' );

Tất nhiên, khi nhìn vào một ví dụ như cái này, có một số điều cần xem xét.

Đối với mã được biểu thị bằng nhận xét trong câu lệnh IF, nó phải gán tên lớp cơ thể tùy chỉnh của bạn cho mảng các lớp $, nhưng nó có thể có thêm các dòng mã, tùy thuộc vào sự phức tạp của những gì bạn đang cố gắng đạt được.$classes array, but it can have additional lines of code, depending on the complexity of what you are trying to achieve.

Cuối cùng, trong khi tên của hàm gọi lại có thể ít liên quan hơn, việc đặt tên chức năng theo mục đích của mã mà nó chứa là thực tiễn tốt nhất. Tất nhiên, khi làm như vậy, hãy đảm bảo thay thế cả hai chỗ giữ chỗ của NAME_OF_THE_FUNCTION mà chúng tôi để lại ở trên để chức năng gọi lại sẽ được nối đúng vào móc bộ lọc Body_Class.name_of_the_function placeholders we left above so that the callback function would be properly hooked onto the body_class filter hook.

Phải nói rằng, chúng ta hãy đi sâu vào các đoạn còn lại mà chúng tôi đã chuẩn bị cho bài viết này. Mỗi trường hợp đại diện cho một trường hợp sử dụng thích hợp của bộ lọc body_class, vì vậy việc xem xét lời giải thích cho mã rất nên đạt được kết quả mong muốn hoặc, nếu cần, thay đổi đoạn trích một chút để làm việc trong trường hợp của bạn.

  • Lớp cơ thể dành riêng cho mẫu

Vì bản cập nhật WordPress 4.7, bạn có thể tạo các tệp mẫu tùy chỉnh được sử dụng cho tất cả các loại bài đăng, không chỉ các trang. Đây là lý do tại sao nó ngày càng trở nên dễ dàng hơn để tạo một tệp mẫu tùy chỉnh và chỉnh sửa các trang của bạn và đăng tương tự. Nhưng, khi nói đến việc tạo kiểu của các trang và bài đăng đó, bạn cần sử dụng .Page-atplate- và .post-plated-body-body Lớp kết hợp, vì có một tên lớp cơ thể thống nhất. .page-template- and .post-template- body classes in conjunction, as there isn’t a unified body class name.

Mặc dù đây chỉ là một sự bất tiện nhỏ cho hầu hết người dùng WordPress, nhưng nó có thể được chỉnh sửa bằng cách thêm một lớp tùy chỉnh vào cả hai trang và bài đăng có một mẫu nhất định được bật. Và, đó chính xác là những gì chúng tôi đã làm trong ví dụ sau đây.

Chính xác hơn, chúng tôi đã viết một chức năng tùy chỉnh có tên Qode_ADD_TEMPLATE_SPECIFF_BODY_CLASS () và móc nó vào móc bộ lọc Body_Class. Trong chức năng, chúng tôi đã bao gồm một câu lệnh có điều kiện đơn giản để kiểm tra xem mẫu của trang hiện tại hoặc bài đăng có phải là tài liệu được đưa ra bởi tệp full width.php hay không, nằm trong thư mục của chủ đề hiện đang hoạt động của bạn.qode_add_template_specific_body_class() and hooked it onto the body_class filter hook. In the function, we have included a simple conditional statement which checks whether the template of the current page or post is the one given by the file full-width.php, located in the directory of your currently active theme.

Tất nhiên, nếu bạn chọn sử dụng đoạn trích này, bạn sẽ cần thay thế phần toàn phần.php bằng tên của mẫu tùy chỉnh hoặc đường dẫn tương đối của nó, nếu nó nằm trong một thư mục của chủ đề hiện đang hoạt động của bạn.

.page {
	/* styles for all posts within the page class */
}
.page-id-2 {
	/* styles for only page ID number 2 */
}
.logged-in {
	/* styles for all pageviews when the user is logged in */
}
0

Phải nói rằng, chúng tôi đã thêm một tên lớp CSS của Qode-Toàn bộ chiều rộng vào danh sách các tên lớp cơ thể cho các trang và bài đăng đã hoàn thành tuyên bố có điều kiện được đề cập trước đó.qode-full-width to the list body class names for the pages and posts that have fulfilled the previously mentioned conditional statement.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Điều này, đến lượt nó, có nghĩa là bạn có thể sử dụng lớp CSS được thêm vào để tạo kiểu cho tất cả các trang và bài đăng có mẫu đã kích hoạt bằng cách sử dụng một bộ quy tắc CSS phù hợp.

  • Lớp cụ thể CPT

Mặc dù các lớp cơ thể cụ thể được thêm vào mọi loại bài đăng tùy chỉnh (CPT) theo mặc định, như đã đề cập trước đây, vẫn có những trường hợp có thể thêm các trường mới. Một cách sử dụng có thể xuất hiện trong tâm trí của chúng tôi là khi bạn muốn áp dụng các kiểu dáng khác nhau cho các mục loại bài tùy chỉnh cụ thể dựa trên các tác giả đã tạo ra chúng. Nhiệm vụ này khá dễ dàng đối với các trang lưu trữ của tác giả, vì tên lớp cơ thể dành riêng cho tác giả được thêm vào ở đó, nhưng nếu không thì khá khó khăn. May mắn thay, điều này có thể được thay đổi bằng cách sử dụng đoạn trích mà chúng tôi bao gồm dưới đây.

Trong đó, chúng tôi đã tạo một hàm gọi là qode_add_cpt_specific_body_class () và nối nó với móc bộ lọc body_class, như đã đề cập trước đây. Đối với nội dung của hàm, nội dung của nó được đặt trong một thẻ có điều kiện is_sing (), kiểm tra xem bài đăng hiện tại có bài đăng của mục đầu tư. Như đã đề cập trước đây, đây là loại bài đăng tùy chỉnh được cung cấp bởi chủ đề Lekker mà chúng tôi đang sử dụng. Không cần phải nói, bạn sẽ cần phải thay thế phần mục đầu tư bằng slug của loại bài viết tùy chỉnh của bạn.qode_add_cpt_specific_body_class() and hooked it to the body_class filter hook, as previously mentioned. As for the content of the function, its content is placed within an is_singular() conditional tag, which checks if the current post has the post slug of portfolio-item. As mentioned previously, this is the custom post type provided by the Lekker theme we are using. Needless to say, you would need to replace the portfolio-item part with the slug of your custom post type.

Điều đó nói rằng, phần bên trong của mã có thể được chia thành twos. Trong phần đầu tiên, chúng tôi đã thêm một tên lớp cơ thể có tên là Qode-port-port-item. Trong phần thứ hai, chúng tôi đã thêm mã liên quan đến lớp cơ thể dành riêng cho tác giả. Chính xác hơn, sử dụng hàm get_the_author_meta () mà chúng tôi đã nhận được tên hiển thị của tác giả. Sau đó, chúng tôi đã thêm một lớp mới có tên là tác giả-, đã được vệ sinh đúng cách bằng cách sử dụng hàm sanitize_html_class () bằng cách tước bất kỳ ký tự không hợp lệ nào.author-, which has been properly sanitized using the sanitize_html_class() function by stripping any invalid characters.

Cuối cùng, để đề phòng, trong trường hợp tên tác giả chỉ chứa các ký tự không hợp lệ, chúng tôi đã đặt ID tác giả ID là dự phòng. Có nghĩa là, nếu tên hiển thị của tác giả không hợp lệ, thay vào đó, lớp tác giả sẽ được thêm vào.author- class will be added instead.

.page {
	/* styles for all posts within the page class */
}
.page-id-2 {
	/* styles for only page ID number 2 */
}
.logged-in {
	/* styles for all pageviews when the user is logged in */
}
1

Phải nói rằng, hai lớp được thêm vào có thể được nhìn thấy khi kiểm tra trang mục danh mục đầu tư bằng công cụ kiểm tra trình duyệt.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Cuối cùng, để áp dụng kiểu dáng dành riêng cho tác giả cho các mục loại bài đăng tùy chỉnh của bạn (trong các mục danh mục đầu tư trường hợp của chúng tôi), bạn sẽ cần sử dụng cả hai lớp CSS được hiển thị để tạo ra bộ chọn CSS chính xác. Trong trường hợp của chúng tôi, điều đó có nghĩa là sử dụng .Qode-portfolio-item. Author-admin làm bộ chọn CSS mà các quy tắc CSS được áp dụng. .qode-portfolio-item.author-admin as the CSS selector to which the CSS rules are applied.

  • Lớp trường tùy chỉnh

Cuối cùng, trong một số trường hợp, bạn có thể muốn điều chỉnh kiểu dáng của các trang, bài đăng hoặc loại bài tùy chỉnh cụ thể. Cách dễ nhất để làm như vậy là thêm một tên lớp cơ thể cụ thể vào bài đăng hoặc trang đó và sau đó viết mã CSS nhắm mục tiêu lớp. Bạn sẽ nhớ lại rằng điều này đã được bật bằng cách sử dụng hộp Meta của lớp trong plugin lớp Custom Body mà chúng tôi đã đề cập trước đó. Tuy nhiên, một điều tương tự có thể được thực hiện bằng cách sử dụng phần Trường tùy chỉnh và đoạn mã sau.

.page {
	/* styles for all posts within the page class */
}
.page-id-2 {
	/* styles for only page ID number 2 */
}
.logged-in {
	/* styles for all pageviews when the user is logged in */
}
2

Nó đại diện cho một hàm tùy chỉnh gọi là qode_add_custom_field_body_class () được nối trên móc bộ lọc body_class. Phần chính của hàm được đặt trong câu lệnh có điều kiện (is_single () |qode_add_custom_field_body_class() that is hooked onto the body_class filter hook. The main part of the function is placed within the ( is_single() || is_page() ) conditional statement, i.e. the code will work as long one of the conditional tags is fulfilled.

Vì thẻ điều kiện is_single () trả về đúng cho tất cả các bài đăng, ngoại trừ các tệp đính kèm và trang, trong khi thẻ điều kiện is_page () chỉ đúng với các trang đơn lẻ, điều đó có nghĩa là mã của chúng tôi sẽ chỉ được áp dụng cho các bài đăng và trang, loại trừ các tệp đính kèm . Điều đó nói rằng, mã được thực thi khi các điều kiện trước đó được đáp ứng phụ thuộc vào phần trường tùy chỉnh, như đã đề cập ở trên. is_single() conditional tag returns true for all single posts, except attachments and pages, while the is_page() conditional tag is true only for single pages, it means that our code will be applied only to single posts and pages, excluding attachments. That said, the code executed when the previous conditions have been met relies on the Custom Fields section, as mentioned above.

Đầu tiên, chúng tôi đã lưu trữ giá trị thuộc về trường tùy chỉnh mà chúng tôi đặt tên là Qode_Body_Class bằng hàm get_post_meta () trong biến giá trị $. Về mặt kỹ thuật, chúng tôi có thể đã thêm biến giá trị $ trực tiếp vào mảng $ Lớp [] tại điểm này sẽ chèn bất cứ thứ gì bạn thêm vào phần trường tùy chỉnh dưới dạng mục nhập số ít. Nhưng, như đã thấy từ ví dụ trước, có những trường hợp bạn có thể cần thêm nhiều lớp.qode_body_class using the get_post_meta() function in the $value variable. Technically speaking, we could have added the $value variable directly to the $classes[] array at this point which will insert anything you add in the custom field section as a singular entry. But, as seen from the previous example, there are cases where you might need to add multiple classes.

Vì lý do đó, chúng tôi đã điều chỉnh mã để nó cho phép bạn chèn nhiều tên lớp CSS cơ thể như bạn muốn, miễn là chúng được phân tách bằng dấu phẩy. Bạn có thể chèn chúng trong một trong các hình thức sau:

tên lớp-1, tên lớp-2, class-name-3,

tên lớp-1, tên lớp-2, class-name-3,

tức là có hoặc không có một khoảng trắng theo dấu sau dấu hiệu dấu phẩy. Được viết theo cách như vậy, mục nhập của bạn sẽ được phân tích cú pháp đúng cách và được thêm vào biến các lớp $ [] dưới dạng tên lớp cơ thể riêng biệt. Điều này kết thúc giải thích về đoạn mã. Nhưng, vì đoạn mã này là một thách thức hơn một chút so với trước đây, có những điều bổ sung chúng ta phải đề cập.

Đầu tiên, mã phụ thuộc rất nhiều vào việc sử dụng phần các trường tùy chỉnh, vì vậy điều quan trọng là phải biết cách kích hoạt phần này. Nếu phần được bật theo mặc định, nhưng ẩn, thì bạn chỉ cần đánh dấu vào tùy chọn chính xác để tiết lộ nó. Đây có thể là trường hợp với các trang và bài viết trên blog. Nhưng, vì việc hiển thị phần Trường tùy chỉnh có thể thay đổi dựa trên màn hình chỉnh sửa mà bạn đang sử dụng, chúng tôi khuyên bạn nên xem xét bài viết của chúng tôi về cách giải quyết vấn đề các trường tùy chỉnh không hiển thị để biết thêm thông tin.

Mặt khác, nếu phần Trường tùy chỉnh không được bật cho các loại bài đăng tùy chỉnh được cung cấp bởi plugin chủ đề hoặc bên thứ ba của bạn, thì chúng tôi khuyên bạn nên tư vấn với các tác giả của họ về cách bật nó.

Thứ hai, ngay cả sau khi kích hoạt nó, bạn phải hiểu cách sử dụng đúng cách. Để đạt được hiệu ứng mong muốn, hãy mở một trang hoặc bài đăng và xác định vị trí phần các trường tùy chỉnh mà bạn đã bật trước đó. Trong phần trên cùng của phần, bạn sẽ có một danh sách các trường tùy chỉnh và các giá trị của chúng mà bạn đã thêm trước đó, trong khi ở phần dưới cùng, bạn sẽ có thể thêm một trường tùy chỉnh mới. Xác định vị trí liên kết enter enter mới trong phần phụ Thêm trường tùy chỉnh mới và nhấp vào nó.open a page or post and locate the Custom Fields section which you have previously enabled. In the top part of the section, you will have a list of custom fields and their values that you have previously added, while in the bottom part, you will be able to add a new custom field. Locate the “Enter new” link within the Add New Custom Field subsection and click it.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Sau đó, nhập tên trường tùy chỉnh và (các) giá trị lớp tương ứng trong mannere đã thảo luận ở trên. Không cần phải nói, bạn sẽ phải đặt tên cho trường tùy chỉnh cùng tên được sử dụng trong mã để mã hoạt động đúng. Tất nhiên, điều này có nghĩa là nếu bạn muốn thay đổi tên trường tùy chỉnh, bạn sẽ phải thay đổi cả trong đoạn mã và trong phần tên tương ứng.enter the custom field name and corresponding class value(s) in the mannere discussed above. Needless to say, you will have to name the custom field the same name that was used in the code for the code to work properly. Of course, this means that if you wish to change the custom field name, you will have to change it both in the code snippet and in the corresponding Name part.

Sau khi thêm cả tên trường và giá trị tùy chỉnh, hãy nhấp vào nút Thêm trường tùy chỉnh được tìm thấy bên dưới.click the “Add Custom Field” button found below.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Như bạn có thể thấy từ ảnh chụp màn hình bên dưới, chúng tôi đã thêm hai lớp-New Class-1 và New Class-2, được phân tách bằng dấu phẩy và không gian trắng đơn lẻ. Để đảm bảo chúng được lưu trữ đúng cách trong cơ sở dữ liệu, hãy đảm bảo nhấp vào nút Cập nhật trên mạng, sau đó. click the “Update” button, afterward.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Sau đó, các lớp này có thể được nhìn thấy khi kiểm tra trang cụ thể hoặc bài đăng mà chúng được thêm vào bằng cách sử dụng phần trường tùy chỉnh.

Hướng dẫn what does body_class () function actually do in wordpress? - hàm body_class () thực sự làm gì trong wordpress?

Do đó, bạn có thể sử dụng một trong hai hoặc thậm chí cả hai, để tạo thành trình chọn CSS tương ứng và cách điệu trang của bạn hoặc đăng phù hợp. Hơn nữa, bạn thậm chí có thể mở rộng điều này bằng cách sử dụng phần Trường tùy chỉnh trên các trang và bài đăng khác và chèn cùng một lớp hoặc lớp tùy chỉnh.

Do đó, bạn có thể tạo kiểu đồng đều cho bất kỳ bộ sưu tập các trang và bài đăng nào dựa trên trường tùy chỉnh và giá trị lớp được chia sẻ, bất kể chúng có chia sẻ bất kỳ điểm tương đồng nào khác, như danh mục, thẻ hoặc phân loại tùy chỉnh khác, chẳng hạn. Do đó, nó sẽ làm cho các khả năng tạo kiểu trang web chỉ bị hạn chế bởi số lượng kiến ​​thức CSS bạn sở hữu. Với lưu ý đó, chúng tôi kết thúc bài viết.

Suy nghĩ cuối cùng

Các lớp cơ thể WordPress có thể được sử dụng để áp dụng các điều chỉnh kiểu dáng cho các trang và bài đăng khác nhau. Trong bài viết này, chúng tôi đã đưa ra một cái nhìn tổng quan về những gì chúng có thể trông như thế nào và đưa ra những gợi ý về cách chúng có thể được sử dụng. Hơn nữa, chúng tôi đã xây dựng triệt để các cách chung để mở rộng danh sách các lớp cơ thể và cung cấp một số ví dụ thích hợp để tăng cường các điểm được thực hiện trong bài viết.

Ngoài ra, chúng tôi đã chạm vào nhiều khái niệm mã hóa WordPress quan trọng như móc WordPress, trường tùy chỉnh, thẻ có điều kiện và thực tiễn đặt tên chức năng phù hợp, có thể có lợi cho bất kỳ người dùng WordPress trung gian hoặc các nhà phát triển trẻ đầy tham vọng. Chúng tôi khuyên bạn nên đánh dấu trang này và sửa đổi nó, hoặc một số phần của nó, vào một ngày sau đó để nắm bắt hoàn toàn tất cả các điểm chúng tôi đã đề cập.

Làm cách nào để thêm một lớp cơ thể trong WordPress?

Body Body_Class () trong WordPress thêm các lớp vào thẻ cơ thể của tất cả các trang trong trang web WordPress của bạn.Theo mặc định, một chủ đề WordPress nên sử dụng chức năng Body Body_Class () trong các tệp chủ đề của chúng để WordPress có thể tự động xuất các lớp chính xác cho mỗi trang/bài đăng và lưu trữ.

Làm cách nào để tìm tên lớp trong WordPress?

Body_Class (Chuỗi | chuỗi [] $ class = '') hiển thị tên lớp cho phần tử cơ thể. Displays the class names for the body element.

Wp_body_open là gì?

Sử dụng wp_body_open () Hàm hữu ích được giới thiệu trong phiên bản WordPress 5.2, wp_body_open () cung cấp cho bạn khả năng chạy mã tùy chỉnh ngay sau thẻ mở của chủ đề WordPress của bạn.gives you the capability of running custom code directly after the opening tag of your WordPress Theme.

Một đối tượng trong WordPress là gì?

Sự mô tả.Bộ đệm đối tượng WordPress được sử dụng để lưu các chuyến đi vào cơ sở dữ liệu.Bộ đệm đối tượng lưu trữ tất cả dữ liệu bộ đệm cho bộ nhớ và cung cấp nội dung bộ đệm có sẵn bằng cách sử dụng khóa, được sử dụng để đặt tên và sau đó truy xuất nội dung bộ đệm.used to save on trips to the database. The Object Cache stores all of the cache data to memory and makes the cache contents available by using a key, which is used to name and later retrieve the cache contents.