ホームページ CMS チュートリアル &#&プレス WordPressのカテゴリーやタグなどのアーカイブページを上部に固定する方法

WordPressのカテゴリーやタグなどのアーカイブページを上部に固定する方法

Dec 28, 2019 am 09:52 AM
wordpress

WordPressのカテゴリーやタグなどのアーカイブページを上部に固定する方法

WordPress のカテゴリやタグなどのアーカイブ ページを上部に固定するにはどうすればよいですか?

この記事の例では、WordPress のカテゴリやタグなどのアーカイブ ページの先頭に到達する方法について説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです。

推奨事項: "wordpress チュートリアル"

WordPress では、デフォルトでは、トップ記事は次のとおりです。ホームページを分類したい場合は、/ タグなどのアーカイブ ページでも記事を上部に固定できます。二次開発が必要です。

次に、wp-includes/query のホームページを固定するためのコードを参照してください。 .php. 少し改造するだけでカテゴリーページ、タグページ、著者ページを作ることができます アーカイブページや日付ページなどもトップページと同様に範囲内の固定記事を上部に表示することができます 以下のコードを関数に入れるだけです現在のテーマの .php

コードは次のとおりです:

add_filter('the_posts', 'putStickyOnTop' ); 
function putStickyOnTop( $posts ) { 
if(is_home() || !is_main_query() || !is_archive()) 
return $posts; 
global $wp_query; 
$sticky_posts = get_option('sticky_posts'); 
if ( $wp_query->query_vars[&#39;paged&#39;] <= 1 && is_array($sticky_posts) && !emptyempty($sticky_posts) && !get_query_var(&#39;ignore_sticky_posts&#39;) ) { $stickies1 = get_posts( array( &#39;post__in&#39; => $sticky_posts ) ); 
foreach ( $stickies1 as $sticky_post1 ) { 
// 判断当前是否分类页 
if($wp_query->is_category == 1 && !has_category($wp_query->query_vars[&#39;cat&#39;], $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[&#39;tag&#39;], $sticky_post1->ID)) { 
// 去除不属于本标签的文章 
$offset1 = array_search($sticky_post1->ID, $sticky_posts); 
unset( $sticky_posts[$offset1] ); 
} 
if($wp_query->is_year == 1 && date_i18n(&#39;Y&#39;, strtotime($sticky_post1->post_date))!=$wp_query->query[&#39;m&#39;]) { 
// 去除不属于本年份的文章 
$offset1 = array_search($sticky_post1->ID, $sticky_posts); 
unset( $sticky_posts[$offset1] ); 
} 
if($wp_query->is_month == 1 && date_i18n(&#39;Ym&#39;, strtotime($sticky_post1->post_date))!=$wp_query->query[&#39;m&#39;]) { 
// 去除不属于本月份的文章 
$offset1 = array_search($sticky_post1->ID, $sticky_posts); 
unset( $sticky_posts[$offset1] ); 
} 
if($wp_query->is_day == 1 && date_i18n(&#39;Ymd&#39;, strtotime($sticky_post1->post_date))!=$wp_query->query[&#39;m&#39;]) { 
// 去除不属于本日期的文章 
$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[&#39;author&#39;]) { 
// 去除不属于本作者的文章 
$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 ( !emptyempty($sticky_posts) && !emptyempty($wp_query->query_vars[&#39;post__not_in&#39;] ) ) 
$sticky_posts = array_diff($sticky_posts, $wp_query->query_vars[&#39;post__not_in&#39;]); 
// Fetch sticky posts that weren&#39;t in the query results 
if ( !emptyempty($sticky_posts) ) { 
$stickies = get_posts( array( 
&#39;post__in&#39; => $sticky_posts, 
&#39;post_type&#39; => $wp_query->query_vars[&#39;post_type&#39;], 
&#39;post_status&#39; => &#39;publish&#39;, 
&#39;nopaging&#39; => true 
) ); 
foreach ( $stickies as $sticky_post ) { 
array_splice( $posts, $sticky_offset, 0, array( $sticky_post ) ); 
$sticky_offset++; 
} 
} 
} 
return $posts; 
}
ログイン後にコピー

コードの説明:

1. ピン留めされたすべての記事をアーカイブに表示したい場合ページにあるコードの 11 ~ 43 行目を削除します;

2. 特定のカテゴリ ページに固定された記事を表示したくない場合は、3 行目の

コードを次のように変更します。

if( 
//改成: 
// abc是分类名称 
if ( is_category( &#39;abc&#39; ) ||
ログイン後にコピー

3. 特定のタブ ページに固定記事を表示したくない場合は、3 行目のコード

# を変更します ##コードは次のとおりです:

if( 
//改成: 
// abc是标签名称 
if ( is_tag( &#39;abc&#39; ) ||
ログイン後にコピー

4. 著者のページに固定記事を表示したくない場合は、3 行目の

コードを次のように変更します:

if( 
//改成: 
// abc是作者昵称 
if ( is_author( &#39;abc&#39; ) ||
ログイン後にコピー

5. 上記のコードは、メイン ループのみです。アーカイブ ページで WP_Query または query_posts を使用して記事リストを取得し、これらのリストの先頭に固定された記事を表示したい場合は、コードの 3 行目にある次のコードを削除できます (注:表示される記事の数が次の値よりも少なくなります。設定が異なります):

コードは次のとおりです:

コードは次のとおりです:

|| !is_main_query()
ログイン後にコピー

トップ スタイル:トップ記事にスタイルを追加したい場合は、functions.php に次のコードを追加すると、sticky という名前のクラスがトップ記事に追加され、特定の CSS コードは自分でカスタマイズされます。コードは次のとおりです:

add_filter(&#39;post_class&#39;, &#39;addStickyClass&#39; ,10,3 ); 
function addStickyClass( $classes, $class, $post_id ){ 
if( is_sticky() && is_category() && !isset( $classes[&#39;sticky&#39;] ) ){ 
$classes[] = &#39;sticky&#39;; 
} 
return $classes; 
}
ログイン後にコピー
この記事が皆様のお役に立てば幸いです

WordPress ウェブサイト構築

役に立ちました。

以上がWordPressのカテゴリーやタグなどのアーカイブページを上部に固定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WordPressの記事リストを調整する方法 WordPressの記事リストを調整する方法 Apr 20, 2025 am 10:48 AM

WordPressの記事リストを調整するには4つの方法があります。テーマオプションを使用し、プラグイン(投稿タイプの注文、WP投稿リスト、ボックスのものなど)を使用し、コード(functions.phpファイルに設定を追加)を使用するか、WordPressデータベースを直接変更します。

WordPressにコメントを追加する方法 WordPressにコメントを追加する方法 Apr 20, 2025 am 11:42 AM

WordPressにコメントを追加する手順は次のとおりです。コメントを有効にします。特定の記事またはすべての記事のコメントを有効にするために「コメントを許可」を確認します。コメントオプションの設定:コメントの承認、ページング、ネストされたコメント、その他の設定をカスタマイズします。コメントフォームの追加:提供されたコードを使用して、目的の場所にコメントフォームを追加します。コメントを表示:提供されたコードを使用して、送信されたコメントを表示します。コメントへの返信:返信リンクを介して1つのコメントに返信するか、バッチ操作を使用して複数のコメントに返信します。コメントの管理:[コメント]タブでコメントを表示、削除、承認、タグ付けします。

使いやすいWordPressのための推奨製品登録プラグイン 使いやすいWordPressのための推奨製品登録プラグイン Apr 20, 2025 am 08:15 AM

完全なWordPress製品登録プラグインはありません。選択は、実際のニーズとWebサイトのサイズに基づいている必要があります。推奨されるプラグインは次のとおりです。メンバープレス:強力だが高価で複雑な構成制限コンテンツプロ:コンテンツの制限とメンバー管理に焦点を当て、費用対効果の高いデジタルダウンロード:デジタル製品を販売し、ユーザーが追加機能として登録

WordPress Webサイトアカウントログイン WordPress Webサイトアカウントログイン Apr 20, 2025 am 09:06 AM

WordPressのWebサイトアカウントにログインするには:ログインページにアクセスしてください:WebサイトURL Plus "/wp-login.php"を入力します。ユーザー名とパスワードを入力します。 [ログイン]をクリックします。検証2段階検証(オプション)。ログインに正常にログインすると、Webサイトのダッシュボードが表示されます。

WordPressの編集日をキャンセルする方法 WordPressの編集日をキャンセルする方法 Apr 20, 2025 am 10:54 AM

WordPressの編集日は、次の3つの方法でキャンセルできます。 2. functions.phpファイルにコードを追加します。 3. wp_postsテーブルのpost_modified列を手動で編集します。

WordPressによってあなた自身のテーマを作る方法 WordPressによってあなた自身のテーマを作る方法 Apr 20, 2025 am 11:18 AM

WordPressテーマエディターを使用したり、事前に構築されたテーマ、テーマジェネレーターなどのサードパーティヘルプを求めたり、開発者を雇って独自のWordPressテーマを作成またはカスタマイズしたりできます。トピックの基本を理解し、サブトピックを使用し、変化をテストし、パフォーマンスを最適化することで、ユニークで効果的なオンラインプレゼンスを作成できます。

WordPressにエラーがある場合はどうすればよいですか WordPressにエラーがある場合はどうすればよいですか Apr 20, 2025 am 11:57 AM

WordPressエラー解決ガイド:500内部サーバーエラー:プラグインを無効にするか、サーバーエラーログを確認します。 404ページが見つかりません:パーマリンクをチェックし、ページリンクが正しいことを確認してください。死の白い画面:サーバーPHPメモリ制限を増やします。データベース接続エラー:データベースサーバーのステータスとWordPress構成を確認します。その他のヒント:デバッグモードを有効にし、エラーログを確認し、サポートを求めます。エラーの防止:定期的にWordPressを更新し、必要なプラグインのみをインストールし、定期的にWebサイトをバックアップし、Webサイトのパフォーマンスを最適化します。

WordPressコードをコピーする方法 WordPressコードをコピーする方法 Apr 20, 2025 pm 12:00 PM

WordPressコードをコピーする方法は?管理インターフェイスからコピー:WordPress Webサイトにログインし、宛先に移動し、コードを選択し、Ctrl C(Windows)/Command C(MAC)を押してコードをコピーします。ファイルからコピー:SSHまたはFTPを使用してサーバーに接続し、テーマまたはプラグインファイルに移動し、コードを選択し、Ctrl C(Windows)/コマンドC(MAC)を押してコードをコピーします。

See all articles