WordPressで特定のカテゴリーの最新記事へアクセスできるリンクを作成する方法を解説します。
作成したリンクはボタンリンクや画像リンクで使われることが多くあります。
クライアントによって、特定のカテゴリーの最新記事へアクセスさせたいが最新の投稿ブロックで実装できない仕様を求められる場合もあるので、備忘ログに残しました。
目次
PHPでlatestを有効化
下記のコードを、function.phpに貼り付けます。
function.phpを編集する際は念のためバックアップを取っておきましょう。
function custom_category_redirect($request)
{
if (isset($_GET['latest']) && isset($request->query_vars['category_name'])) {
$latest = new WP_Query(array(
'category_name' => $request->query_vars['category_name'],
'posts_per_page' => 1,
));
if ($latest->have_posts()) {
wp_redirect(get_permalink($latest->post->ID));
exit;
}
}
}
add_action('parse_request', 'custom_category_redirect');
latestでかつ特定のカテゴリーに属している場合、そのカテゴリーの中の最も新しい記事のパーマリンクにリダイレクトされるといった内容です。
細かなところは理解していなくとも、だいたいこんなことをやってるなくらいわかっていればOKです。
なので、詳細は解説しません。
「?latest」をカテゴリー毎のURLの末尾につける
PHPに記述したことで、特定カテゴリーの最新記事へアクセスするリンクを作成する準備は完了しました。
最新記事へのリンクは、下記アドレスとなります。
https://hoge.com/category/some-category/?latest
実際、当サイトのCodeカテゴリー中のPHPカテゴリーの最新記事を表示させるとすると、
https://daiblog923.com/code/php/?latest
となります。
ただ、当サイトのfunction.phpに有効化のコードを追加していないので、実際に見ることはできません。
Coment
コメント一覧 (2件)
実装したいこと、そのままズバリの記事で大変助かりました!
1点、コード4行目の&&の前のスペースは全角ではなく半角にするとそのままコピペで使えます。
大変助かりました。ありがとうございました!
記事をお読みいただきありがとうございます!
お役に立てたようで良かったです。
コードのご指摘ありがとうございます!