前提・実現したいこと
SEO的観点からカスタムタクソノミー(カスタム分類)のスラッグをカスタム投稿タイプと同じにしたいと考えております。
テンプレートは以下を使用しています。
カスタム投稿 ...topics
タクソノミー ...topics_cat
ターム ...news
archive-topics.php ...記事一覧ページ
taxonomy-topics_cat-news.php ...ターム記事一覧
single-topics.php ...投稿ページ
Custom Post Type Permalinksのプラグインを利用することで
下記のリンクで表示することができました。
https://xxxx.com/topics/news/(post_id)
しかし、SEOの都合上個別記事IDではなく下記のような
投稿記事名で表示したいと考えております。↓
https://xxxx.com/topics/news/(postname)
該当コードを記述しますので、解決方法を教えていただきたいです。
また、プラグインなしでターム別記事一覧ページを作成できるのであれば、
その方法を教えていただきたいです。
何卒ご教授お願いいたします。
functions.php
php
1function my_custom_post_topics() { 2 $labels = array( 3 'name' => _x('トピックス', 'post type general name'), 4 'singular_name' => _x('トピックス', 'post type singular name'), 5 'all_items' => __('トピックス一覧'), 6 'add_new' => _x('トピックスを追加', 'topics'), 7 'add_new_item' => __('トピックスを追加'), 8 'edit_item' => __('トピックスを編集'), 9 'new_item' => __('トピックス'), 10 'view_item' => __('トピックスを表示'), 11 'search_items' => __('トピックスを探す'), 12 'not_found' => __('トピックスはありません'), 13 'not_found_in_trash' => __('ゴミ箱にトピックスはありません'), 14 'parent_item_colon' => '' 15 ); 16 $args = array( 17 'labels' => $labels, 18 'public' => true, 19 'publicly_queryable' => true, 20 'show_ui' => true, 21 'query_var' => true, 22 'capability_type' => 'post', 23 'hierarchical' => false, 24 'menu_position' => 5, 25 'has_archive' => true, 26 'rewrite' => array( 27 'with_front' => false, 28 ), 29 'supports' => array('title','editor','author','thumbnail','revisions', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'page-attributes') 30 ); 31 register_post_type('topics',$args); 32 33 $args = array( 34 'label' => 'カテゴリー', /* ダッシュボードに表示する名前 */ 35 'singular_label' => 'カテゴリー', 36 'labels' => array( 37 'all_items' => 'カテゴリー一覧', 38 'add_new_item' => 'カテゴリーを追加' 39 ), 40 'public' => true, 41 'show_ui' => true, 42 'show_in_nav_menus' => true, 43 'has_archive' => true, 44 'hierarchical' => false, /* カテゴリーの場合はtrue */ 45 'query_var' => true, 46 'with_front' => false, 47 'rewrite' => true /* パーマリンクのリライトの許可*/ 48 ); 49 register_taxonomy( 50 'topics_cat', /* 分類名 */ 51 'topics', /* このタクソノミーを使う投稿タイプ */ 52 $args 53 ); 54 55/* カスタム投稿のパーマリンク設定 56-----------------------------------------------------*/ 57//パーマリンクからタクソノミー名を削除 58function my_custom_post_type_permalinks_set($termlink, $term, $taxonomy){ 59 return str_replace('/'.$taxonomy.'/', '/', $termlink); 60} 61add_filter('term_link', 'my_custom_post_type_permalinks_set',11,3); 62 63
Custom Post Type Permalinksの設定
あなたの回答
tips
プレビュー