Gần đây, một trong những người dùng của chúng tôi đã hỏi chúng tôi liệu có thể thêm các bài đăng dính vào kho lưu trữ kiểu đăng tuỳ chỉnh hay không. Theo mặc định, WordPress có chức năng dính cho các bài đăng, nhưng không cho các loại đăng bài khác. Trong bài này, chúng tôi sẽ chỉ cho bạn cách thêm các bài viết dính trong WordPress lưu trữ kiểu tùy chỉnh. Trước khi chúng tôi tiến lên phía trước, bạn có thể muốn tìm hiểu cách tạo các loại bài đăng tùy chỉnh trong WordPress.
Thêm Bài đăng Nổi bật trong Tùy chỉnh Các Bài đăng
Điều đầu tiên bạn cần làm là cài đặt và kích hoạt plugin Sticky Custom Post Types. Sau khi kích hoạt plugin, hãy vào Cài đặt »Đọc và cuộn xuống phần Sticky Custom Post Types. Tiếp theo, bạn cần chọn các loại bài đăng tùy chỉnh mà bạn muốn chọn Bật tùy chọn này.
Bây giờ những gì chúng tôi đã làm ở đây là chúng tôi đã thêm tính năng bài viết dính vào các loại bài đăng tùy chỉnh của chúng tôi. Các bài đăng trong bài đăng tuỳ chỉnh sẽ được hiển thị ở trang đầu giống như các bài viết dính thường xuyên.
Vấn đề là theo mặc định, WordPress chỉ hiển thị các bài viết dính trên trang chủ. Nó không hiển thị các bài viết dính trên các trang lưu trữ.
Hiển thị các bài viết trong bài viết Custom Post Type Archives
Cho phép giả sử rằng bạn có một loại bài đăng tùy chỉnh cho Xem Phim với các bài đăng dính cho phép sử dụng plugin mà chúng tôi đã đề cập ở trên. Bây giờ bạn muốn các bài đăng dính trong các bài đánh giá bài đăng đăng các loại được hiển thị khác nhau và trên đầu đánh giá phim không thường xuyên. Như thế này:
Để đạt được mục tiêu này, điều đầu tiên bạn cần là một mẫu lưu trữ cho loại bài đăng tùy chỉnh của bạn như sau: lưu trữ-post-type.php
. Tìm hiểu cách tạo trang kho lưu trữ kiểu đăng tuỳ chỉnh. Ví dụ: nếu bạn có một loại bài đăng tùy chỉnh đánh giá phim
thì mẫu trang lưu trữ của bạn phải là lưu trữ-phim-reviews.php
. Nếu bạn không có một mẫu, hãy tạo một mẫu. Đơn giản chỉ cần sao chép nội dung của archive.php trong thư mục chủ đề của bạn và dán chúng vào một tệp mới archive-your-post-type.php
.
Bước tiếp theo là thêm mã này vào chủ đề của bạn functions.php
tập tin:
chức năng wpb_cpt_sticky_at_top ($ posts) { / / chỉ áp dụng nó vào lưu trữ if (is_main_query () && is_post_type_archive ()) { $ wp_query toàn cầu; $ sticky_posts = get_option ('sticky_posts'); $ num_posts = count ($ posts); $ sticky_offset = 0; // Tìm các bài viết dính for ($ i = 0; $ i ID, $ sticky_posts)) { $ sticky_post = $ bài viết [$ i]; / / Loại bỏ dính khỏi vị trí hiện tại array_splice (bài đăng $, $ i, 1); / / Di chuyển về phía trước, sau khi dính array_splice ($ posts, $ sticky_offset, 0, mảng ($ sticky_post)); $ sticky_offset ++; // Xóa bài đăng khỏi mảng bài đăng dính $ offset = array_search ($ sticky_post-> ID, $ sticky_posts); unset ($ sticky_posts [$ offset]); } } / / Hãy tìm bài viết dính hơn nếu cần thiết if (! empty ($ sticky_posts)) { $ stickies = get_posts (mảng ( 'post__in' => $ sticky_posts, 'post_type' => $ wp_query-> query_vars ['post_type'], 'post_status' => 'xuất bản', 'nopaging' => đúng )); foreach ($ dính như $ sticky_post) { array_splice ($ posts, $ sticky_offset, 0, mảng ($ sticky_post)); $ sticky_offset ++; } } } trả lại $ bài đăng; } add_filter ('the_posts', 'wpb_cpt_sticky_at_top'); / / Thêm lớp dính trong tiêu đề bài báo để phong cách bài viết dính khác nhau hàm cpt_sticky_class ($ lớp) { if (is_sticky ()): $ classes [] = 'dính'; trả về $ lớp học; endif; trả về $ lớp học; } add_filter ('post_class', 'cpt_sticky_class');
Đoạn mã trên sẽ di chuyển các bài viết dính của bạn lên trên cùng và nếu chủ đề của bạn đang sử dụng post_class ()
, sau đó nó sẽ thêm dính vào lớp sau.
Bạn có thể tạo kiểu bài viết dính của mình bằng cách sử dụng .sticky
class trong bảng định kiểu của bạn. Thí dụ:
.sticky { màu nền: #ededed; background-image: url ('http://example.com/wp-content/uploads/featured.png'); lặp lại: không lặp lại; vị trí nền: phía trên cùng; }
Chúng tôi hy vọng bài viết này đã giúp bạn thêm các bài viết dính trong kho lưu trữ kiểu tùy chỉnh. Đối với các câu hỏi và phản hồi xin vui lòng để lại một bình luận dưới đây.
Nguồn: Tareq Hasan