Cách kết hợp bài đăng và loại bài đăng tùy chỉnh trong truy vấn WordPress và nguồn cấp dữ liệu RSS

WordPress hoặc Elementor Hợp nhất hoặc Kết hợp các bài đăng và các loại bài đăng tùy chỉnh trong truy vấn

Một trong những tính năng tuyệt vời nhất của WordPress là khả năng xây dựng Tuỳ chỉnh bài viết các loại. Tính linh hoạt này thật tuyệt vời… vì các loại bài đăng tùy chỉnh có thể được sử dụng cho một doanh nghiệp để sắp xếp các loại bài đăng khác như sự kiện, địa điểm, Câu hỏi thường gặp, các mục danh mục đầu tư một cách dễ dàng. Bạn có thể xây dựng các đơn vị phân loại tùy chỉnh, các trường siêu dữ liệu bổ sung và thậm chí là các mẫu tùy chỉnh để hiển thị chúng.

Trên trang web của chúng tôi tại Highbridge, chúng tôi có một loại bài đăng tùy chỉnh được thiết lập cho dự án ngoài blog của chúng tôi, nơi chúng tôi đang chia sẻ tin tức của công ty. Bằng cách có một loại bài đăng tùy chỉnh, chúng tôi có thể điều chỉnh các dự án trên các trang khả năng của mình… vì vậy nếu bạn xem Dịch vụ WordPress, các dự án mà chúng tôi đã làm việc có liên quan đến WordPress sẽ tự động hiển thị. Tôi đang nỗ lực cố gắng để ghi lại tất cả các dự án của chúng tôi để khách truy cập trang web của chúng tôi có thể thấy các mảng công việc mà chúng tôi làm cho các công ty.

Hợp nhất các bài đăng và các loại bài đăng tùy chỉnh

Trang chủ của chúng tôi đã khá rộng rãi, vì vậy tôi không muốn phải xây dựng một phần cho các bài đăng trên blog của chúng tôi VÀ một phần cho các dự án mới nhất của chúng tôi. Tôi muốn hợp nhất cả bài đăng và dự án vào cùng một đầu ra bằng trình tạo mẫu của chúng tôi, Elementor. Elementor không có giao diện để hợp nhất hoặc kết hợp các bài đăng và các loại bài đăng tùy chỉnh, nhưng khá đơn giản để tự làm điều này!

Trong trang functions.php của chủ đề con của bạn, đây là một ví dụ về cách kết hợp cả hai:

function add_query_news_projects( $query ) {
	if ( is_home() && $query->is_main_query() )
		$query->set( 'post_type', array( 'post', 'project' ) );
	return $query;
}
add_filter( 'pre_get_posts', 'add_query_news_projects' );

Bộ lọc pre_get_posts cho phép bạn cập nhật truy vấn và đặt nó để có được cả bài đăng của bạn và dự án loại bài tùy chỉnh. Tất nhiên, khi bạn viết mã của mình, bạn sẽ cần cập nhật (các) loại bài đăng tùy chỉnh theo quy ước đặt tên thực tế của bạn.

Hợp nhất các bài đăng và các loại bài đăng tùy chỉnh trong nguồn cấp dữ liệu của bạn

Tôi cũng có trang web tự động xuất bản lên phương tiện truyền thông xã hội thông qua nguồn cấp dữ liệu của nó… vì vậy tôi cũng muốn sử dụng cùng một truy vấn để đặt nguồn cấp dữ liệu RSS. Để làm điều này, tôi chỉ cần thêm một câu lệnh OR và bao gồm is_feed.

function add_query_news_projects( $query ) {
	if ( is_home() && $query->is_main_query() || is_feed() )
		$query->set( 'post_type', array( 'post', 'project' ) );
	return $query;
}
add_filter( 'pre_get_posts', 'add_query_news_projects' );

Hợp nhất các bài đăng và các loại bài đăng tùy chỉnh trong Elementor

Một lưu ý nữa… Elementor có một tính năng thực sự tuyệt vời, nơi bạn có thể đặt tên và lưu một truy vấn trong trang web của mình. Trong trường hợp này, tôi đang xây dựng một truy vấn có tên là dự án tin tức và sau đó tôi có thể gọi nó từ giao diện người dùng Elementor trong phần Truy vấn Bài đăng.

function my_query_news_projects( $query ) {
	$query->set( 'post_type', array( 'post', 'project' ) );
}
add_action( 'elementor/query/news-projects', 'my_query_news_projects' );

Đây là cách nó trông như thế nào trong giao diện người dùng Elementor:

truy vấn phần tử đăng bài

Tiết lộ: Tôi đang sử dụng Elementor liên kết liên kết trong bài viết này.