Thư mục bài viết
WordPressCó một chức năng dính bài viết được tích hợp sẵn, nhưng mặc định chỉ có trang trên cùng mới được hỗ trợ để hiển thị các bài viết dính.
Các trang lưu trữ khác (chẳng hạn như trang danh mục, trang thẻ, trang tác giả và trang ngày tháng) không thể hiển thị các bài viết dính ở trên cùng, chỉ theo thứ tự mặc định.
nhiều thứ liên quan đến WordPressSEObạn bè, hy vọng để giải quyết những vấn đề này.
Trên thực tế, chúng ta chỉ cần tham khảo mã của trang chủ wp-include / query.php và sửa đổi nó một chút, sao cho ở đầu trang lưu trữ (chẳng hạn như trang danh mục, trang tab, trang tác giả và trang ngày tháng. ) cũng có thể hiển thị bài viết hàng đầu.
Mã bài viết dính WordPress
Vui lòng đặt mã sau vào tệp functions.php theo chủ đề hiện tại của bạn ▼
//让WordPress分类、标签、存档和作者页显示置顶文章 add_filter('the_posts', 'putStickyOnTop' ); function putStickyOnTop( $posts ) { if ( is_series() || is_home() || !is_main_query() || !is_archive()) return $posts; global $wp_query; $sticky_posts = get_option('sticky_posts'); if ( $wp_query->query_vars['paged'] <= 1 && is_array($sticky_posts) && !empty($sticky_posts) && !get_query_var('ignore_sticky_posts') ) { $stickies1 = get_posts( array( 'post__in' => $sticky_posts ) ); foreach ( $stickies1 as $sticky_post1 ) { // 判断当前是否分类页 if($wp_query->is_category == 1 && !has_category($wp_query->query_vars['cat'], $sticky_post1->ID)) { // 移除不是本分类的文章 $offset1 = array_search($sticky_post1->ID, $sticky_posts); unset( $sticky_posts[$offset1] ); } if($wp_query->is_tag == 1 && has_tag($wp_query->query_vars['tag'], $sticky_post1->ID)) { // 移除不是本标签的文章 $offset1 = array_search($sticky_post1->ID, $sticky_posts); unset( $sticky_posts[$offset1] ); } if($wp_query->is_year == 1 && date_i18n('Y', strtotime($sticky_post1->post_date))!=$wp_query->query['m']) { // 移除不是本年份的文章 $offset1 = array_search($sticky_post1->ID, $sticky_posts); unset( $sticky_posts[$offset1] ); } if($wp_query->is_month == 1 && date_i18n('Ym', strtotime($sticky_post1->post_date))!=$wp_query->query['m']) { // 移除不是本月份的文章 $offset1 = array_search($sticky_post1->ID, $sticky_posts); unset( $sticky_posts[$offset1] ); } if($wp_query->is_day == 1 && date_i18n('Ymd', strtotime($sticky_post1->post_date))!=$wp_query->query['m']) { // 移除不是本日期的文章 $offset1 = array_search($sticky_post1->ID, $sticky_posts); unset( $sticky_posts[$offset1] ); } if($wp_query->is_author == 1 && $sticky_post1->post_author != $wp_query->query_vars['author']) { // 移除不是本作者的文章 $offset1 = array_search($sticky_post1->ID, $sticky_posts); unset( $sticky_posts[$offset1] ); } } $num_posts = count($posts); $sticky_offset = 0; // Loop over posts and relocate stickies to the front. for ( $i = 0; $i < $num_posts; $i++ ) { if ( in_array($posts[$i]->ID, $sticky_posts) ) { $sticky_post = $posts[$i]; // Remove sticky from current position array_splice($posts, $i, 1); // Move to front, after other stickies array_splice($posts, $sticky_offset, 0, array($sticky_post)); // Increment the sticky offset. The next sticky will be placed at this offset. $sticky_offset++; // Remove post from sticky posts array $offset = array_search($sticky_post->ID, $sticky_posts); unset( $sticky_posts[$offset] ); } } // If any posts have been excluded specifically, Ignore those that are sticky. if ( !empty($sticky_posts) && !empty($wp_query->query_vars['post__not_in'] ) ) $sticky_posts = array_diff($sticky_posts, $wp_query->query_vars['post__not_in']); // Fetch sticky posts that weren't in the query results if ( !empty($sticky_posts) ) { $stickies = get_posts( array( 'post__in' => $sticky_posts, 'post_type' => $wp_query->query_vars['post_type'], 'post_status' => 'publish', 'nopaging' => true ) ); foreach ( $stickies as $sticky_post ) { array_splice( $posts, $sticky_offset, 0, array( $sticky_post ) ); $sticky_offset++; } } } return $posts; } //置顶文章添加样式 add_filter('post_class', 'addStickyClass' ,10,3 ); function addStickyClass( $classes, $class, $post_id ){ if( is_sticky() && is_category() && !isset( $classes['sticky'] ) ){ $classes[] = 'sticky'; } return $classes; }
Hướng dẫn sử dụng mã bài viết dính
1) Nếu bạn muốn trang lưu trữ hiển thị tất cả các bài báo hàng đầu, vui lòng xóa 11-43 dòng mã;
2) Nếu bạn không muốn hiển thị bài viết hàng đầu trên trang chuyên mục, vui lòng thêm ▼ vào dòng 3
if(
Sửa đổi thành ▼
// abc是分类的名称 if ( is_category( 'abc' ) ||
3) Nếu bạn không muốn hiển thị bài viết hàng đầu trên trang tab, vui lòng ▼ ở dòng 3
if(
đổi thành:
// abc是标签的名称
if ( is_tag( 'abc' ) ||
4) Nếu bạn không muốn trang tác giả hiển thị bài viết trên cùng, vui lòng ▼ ở dòng 3
if(
Sửa đổi thành ▼
// abc是作者的昵称
if ( is_author( 'abc' ) ||
5) Nếu bạn không muốn một trang danh mục tùy chỉnh hiển thị bài viết hàng đầu, hãy đặt
if(
Thay đổi nó thành:
// series是自定义分类、abc是自定义分类名称 if ( is_series( 'abc' ) ||
Đoạn mã trên chỉ hợp lệ cho vòng lặp chính, nếu bạn đang sử dụng WP_Query hoặc query_posts để lấy danh sách các bài đăng trên trang lưu trữ và muốn hiển thị các bài viết được ghim trên đầu các danh sách đó.
Bạn có thể xóa đoạn mã sau ở dòng 3 (có thể khiến số lượng bài viết hiển thị khác với những gì bạn đặt) ▼
|| !is_main_query()
Thêm phong cách vào bài viết hàng đầu
Nếu bạn muốn thêm kiểu vào bài đăng dính, hãy thêm mã sau vào functions.php và thêm một lớp có tên là dính vào bài đăng dính.
Trong các chủ đề WordPress nói chung, sẽ có mã CSS cho kiểu bài viết hàng đầu, bạn cũng có thể thêm tùy chỉnh ▼
//置顶文章添加样式 add_filter('post_class', 'addStickyClass' ,10,3 ); function addStickyClass( $classes, $class, $post_id ){ if( is_sticky() && is_category() && !isset( $classes['sticky'] ) ){ $classes[] = 'sticky'; } return $classes; }
- Hiệu ứng kiểu bài viết hàng đầu của trang danh mục,Chen WeiliangChuyên mục bài viết trên blog:Số điện thoại di động Trung Quốc
- (Thay đổi chủ đề đã hết hạn)
Có một cách khác để làm cho các trang lưu trữ danh mục WordPress hiển thị các bài viết WordPress ở trên cùng ▼
Hy vọng Chen Weiliang Blog ( https://www.chenweiliang.com/ ) đã chia sẻ "Làm thế nào để làm cho trang danh mục / thẻ / tác giả của WordPress hiển thị các bài viết dính? , để giúp bạn.
Chào mừng bạn đến chia sẻ liên kết của bài viết này:https://www.chenweiliang.com/cwl-878.html
Chào mừng bạn đến với kênh Telegram trên blog của Chen Weiliang để cập nhật những thông tin mới nhất!
📚 Hướng dẫn này chứa đựng giá trị to lớn, 🌟Đây là cơ hội hiếm có, đừng bỏ lỡ! ⏰⌛💨
Chia sẻ và thích nếu bạn thích!
Chia sẻ và thích của bạn là động lực không ngừng của chúng tôi!