Photo by Chihiro Ichinose
// アイキャッチ画像を有効にする。 add_theme_support('post-thumbnails'); //投稿スラッグを書き換える function post_has_archive($args, $post_type) { if ('post' == $post_type) { $args['rewrite'] = true; $args['has_archive'] = 'aboutus/journal'; //任意のスラッグ名 } return $args; } add_filter('register_post_type_args', 'post_has_archive', 10, 2); // has_archive はメモリ上にしか載らないことがあるため、アーカイブ用ルールを明示する function branica_journal_archive_rewrites() { add_rewrite_rule('^aboutus/journal/?$', 'index.php?post_type=post', 'top'); add_rewrite_rule('^aboutus/journal/page/([0-9]{1,})/?$', 'index.php?post_type=post&paged=$matches[1]', 'top'); } add_action('init', 'branica_journal_archive_rewrites', 1); // 保存済みリライトルールが古い場合、/aboutus/journal/ が pagename として 404 になる function branica_journal_archive_request($query_vars) { $pagename = $query_vars['pagename'] ?? ''; if ($pagename === 'aboutus/journal') { unset($query_vars['pagename'], $query_vars['page'], $query_vars['name']); $query_vars['post_type'] = 'post'; return $query_vars; } if (preg_match('#^aboutus/journal/page/([0-9]+)$#', $pagename, $matches)) { unset($query_vars['pagename'], $query_vars['page'], $query_vars['name']); $query_vars['post_type'] = 'post'; $query_vars['paged'] = (int) $matches[1]; } return $query_vars; } add_filter('request', 'branica_journal_archive_request'); function branica_flush_journal_rewrites() { if (get_option('branica_journal_rewrite_ver') === '1') { return; } flush_rewrite_rules(false); update_option('branica_journal_rewrite_ver', '1'); } add_action('wp_loaded', 'branica_flush_journal_rewrites');
Photo by Chihiro Ichinose