Adresář článků
WordPressK dispozici je vestavěná funkce lepení článků, ale ve výchozím nastavení je podporována pouze horní stránka pro zobrazení lepivých článků.
Jiné archivní stránky (jako jsou stránky kategorií, stránky se značkami, stránky autorů a stránky s datem) nemohou zobrazovat nalepené články nahoře, pouze ve výchozím pořadí.
hodně společného s WordPressemSEOpřátelé, doufám, že tyto problémy vyřešíte.
Ve skutečnosti se musíme pouze odkázat na kód domovské stránky wp-includes/query.php a mírně jej upravit, aby horní část stránky archivu (jako je stránka kategorie, stránka se záložkou, stránka autora a stránka s datem ) může také zobrazit horní článek.
WordPress Sticky Article Code
Vložte prosím následující kód do souboru functions.php pod vaše aktuální téma ▼
//让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; }
Pokyny pro použití kódu lepivého článku
1) Pokud chcete, aby stránka archivu zobrazovala všechny nejlepší články, smažte 11-43 řádků kódu;
2) Pokud si nepřejete zobrazovat hlavní článek na stránce kategorie, přidejte prosím ▼ na řádek 3
if(
Upravit na ▼
// abc是分类的名称 if ( is_category( 'abc' ) ||
3) Pokud si nepřejete zobrazovat horní článek na záložce, prosím ▼ na řádku 3
if(
změnit do:
// abc是标签的名称
if ( is_tag( 'abc' ) ||
4) Pokud si nepřejete, aby se na stránce autora zobrazoval hlavní článek, prosím ▼ na řádku 3
if(
Upravit na ▼
// abc是作者的昵称
if ( is_author( 'abc' ) ||
5) Pokud nechcete, aby se na stránce vlastní kategorie zobrazoval top článek, vložte
if(
Změňte to na:
// series是自定义分类、abc是自定义分类名称 if ( is_series( 'abc' ) ||
Výše uvedený kód je platný pouze pro hlavní smyčku, pokud používáte WP_Query nebo query_posts k získání seznamu příspěvků na stránce archivu a chcete zobrazit připnutý příspěvek nad těmito seznamy.
Následující kód můžete smazat na řádku 3 (může způsobit, že se počet zobrazených článků bude lišit od vámi nastaveného počtu) ▼
|| !is_main_query()
Přidejte styl do horního článku
Pokud chcete do lepivého příspěvku přidat styly, přidejte následující kód do functions.php a přidejte do lepivého příspěvku třídu s názvem sticky.
V obecných tématech WordPress bude pro styl horního článku kód CSS, můžete také přidat vlastní ▼
//置顶文章添加样式 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; }
- Efekt stylu horního článku na stránce kategorie,Chen WeiliangKategorie článků na blogu:Čínské mobilní číslo
- (Platnost změny motivu vypršela)
Existuje další způsob, jak zajistit, aby se na stránkách archivu kategorií WordPress zobrazovaly články WordPress nahoře▼
Blog Hope Chen Weiliang ( https://www.chenweiliang.com/ ) shared „Jak docílit toho, aby stránka kategorie/tag/autor na WordPressu zobrazovala lepkavé články? , pomoct ti.
Vítejte u sdílení odkazu na tento článek:https://www.chenweiliang.com/cwl-878.html
Vítejte na telegramovém kanálu blogu Chen Weiliang, kde získáte nejnovější aktualizace!
📚 Tento průvodce má obrovskou hodnotu, 🌟Toto je vzácná příležitost, nenechte si ji ujít! ⏰⌛💨
Sdílejte a lajkujte, pokud se vám líbí!
Vaše sdílení a lajky jsou naší neustálou motivací!