ワードプレスで各カテゴリーページの先頭に固定表示

ワードプレスで各カテゴリーページの先頭に固定表示

  • 2017-12-16  最終更新日:2017-12-16

ワードプレスの先頭に固定表示機能は便利で特定の記事を固定しておく場合にはとても便利です。この機能って基本的にトップページにしか反映されないのでカテゴリーページにも対応できたらと思い設置してみました。

割とプラグインで対応するようなケースが多いですが今回はcategory.phpに書き込んで完了です。


スポンサーリンク


設置方法

category.phpに以下のように記載します。

category.php

<!-- 先頭固定表示 -->
<?php if (!is_paged()) : ?>
<?php $sticky = get_option('sticky_posts');
	if(!empty($sticky)):
		$get_cat = get_the_category();
		$cat = $get_cat[0];
		$args = [
			'posts_per_page' => 1,
			'cat' => $cat->cat_ID,
			'post__in'  => get_option('sticky_posts'),
		];

		$the_query = new WP_Query( $args );
		if ( $the_query->have_posts() ) :
			while ( $the_query->have_posts() ) : $the_query->the_post();?>
			<h2><?php the_title(); ?></h2>
			<p><?php the_content(); ?></p>
			<?php endwhile;?>
		<?php endif;?>
		<?php wp_reset_postdata(); ?>
	<?php endif;?>
<?php endif;?>
<!-- カテゴリー表示 -->
<?php
$get_cat = get_the_category();
$cat = $get_cat[0];
$args = [
	'post__not_in' => get_option('sticky_posts'),
	'cat' => $cat->cat_ID,
];
	$the_query = new WP_Query( $args );
	if ( $the_query->have_posts() ) : ?>

		<?php the_archive_title( '<h2 class="page-title">', '</h2>' );
				the_archive_description( '<div class="archive-description">', '</div>' );?>
		<?php while ( $the_query->have_posts() ) : $the_query->the_post();?>
			<?php the_title( sprintf( '<h2 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h2>' ); ?>
			<?php the_excerpt(); ?>
	<?php endwhile;endif;?>

先頭固定ページは1件のみ取得してカテゴリーの一番上に表示します。

!is_paged()で2ページ以降は先頭固定表示しないようにします。

get_option(‘sticky_posts’)で一番最初の先頭固定表示の投稿を取得します。カテゴリーページなのでget_the_category()で現在のカテゴリーを取得、posts_per_pageで1件取得、post__inで投稿IDで表示を指定します。これで一番上に固定表示されます。

それ以下は通常のカテゴリー表示ですが’post__not_in’ => get_option(‘sticky_posts’)で先頭固定表示を取得しないようにしてあとはループして表示させれば良いですね。

参考になれば幸いです。


∞Tadashi Suyama∞

wordpress category カテゴリ 先頭固定表示
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

サイト内検索

最近の投稿

アイキャッチ
正規表現はじめの一歩

今回は正規表現です。たまにしか使わないのですぐに忘れてしまいますのでまとめておきます。 文字列の検索時にある条件にマッチしたものを表示させるものです。 エディターにも検索条件に正規表現という検...

07 Oct 2018

アイキャッチ
ワードプレス記事一括削除する方法

ワードプレスで記事を一括削除する方法が意外と簡単なことに気がつきました。記事を大量に削除する場合はあまりなかったのですが、調べてみたら簡単なことでした。 大量のデータをインポートする時に失敗し...

30 Sep 2018

アイキャッチ
メールはGmailに限る

大分間が空きました。。。さて今回はGmailをご紹介します。最近ではチャット系アプリが主流ですが、それでもやはりメールはなんだかんだで使います。いつも悩まされるのはスパムメールですが、Gmail...

25 Sep 2018

アイキャッチ
大山の大献灯・和傘灯りに行った感想

大山の大献灯・和傘灯りに初めて行って参りました。13日の夜に行ってきましたがこんなイベントをやっていることを知らなかったのでご紹介します。和傘のライトアップで日本の夏の雰囲気が良いですね。 大...

23 Aug 2018

アイキャッチ
出雲神話祭り・花火大会

お盆休み中に出雲の花火大会に行って参りました、今年は8月12日(日)でした、開催日は毎年違いますので確認しておきましょう。だいたいこのあたりだった気がします。8,000発の花火で例年13万人が来...

21 Aug 2018

著者

ウェブエンジニアのSUYAMAのブログです。

WEBに関することや個人的に関心のあることについて書きます。主に技術系ブログです。

フッターイメージ