質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

0回答

1402閲覧

【WordPress】カスタムタクソノミー(カスタム分類)のスラッグをカスタム投稿タイプと同じにする方法

ilaipa_

総合スコア5

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/12/17 06:12

編集2021/01/16 16:36

前提・実現したいこと

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の設定

パーマリンク設定
カスタム投稿のパーマリンク設定

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問