🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
WordPress

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

Q&A

解決済

1回答

1183閲覧

WordPressの記事ページのパーマリンク変更

0001

総合スコア10

WordPress

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

0グッド

0クリップ

投稿2019/11/18 14:05

編集2019/11/21 16:49

WordPressカスタマイズ初心者です。

通常の記事ページで「パーマリンク設定」より
カスタム構造を
/information/%post_id%/
と設定しました。
記事ページは無事に
〇〇.jp/information/123/
のような表示を実現できたのですが、
新しくカスタムポストを増築する運びとなり、CPT UIのプラグインで
「news」というカスタムポストを追加したのですが、この記事ページのURLがどうしても
〇〇.jp/information/news/123/
となってしまい、パーマリンク設定の設定が反映されてしまいます。

【理想のURL】↓↓↓↓↓
通常の記事ページは
〇〇.jp/information/123/

「news」のカスタムポストの記事ページは
〇〇.jp/news/456/

のような表示させたく、ご指導頂ける方がいらっしゃいましたらお願いします。

ーーーーー

追記です。

パーマリンク設定のカスタム構造を
/%post_id%/
に変更し、

function newsUrlRewrite($author_rewrite) { $author_rewrite = array( 'information/([0-9]{1,100})/?$' => 'index.php?p=$matches[1]' ); return $author_rewrite; } add_filter('author_rewrite_rules', 'newsUrlRewrite');

としてみたら理想のURLになりました。
しかし
〇〇.jp/123/
でもアクセス出来てしまうようで、ページが重複しているのでSEO上よ良くないですよね...

リンクを追加、ではなくリンクを変更出来るようになれば理想です。

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

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

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

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

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

guest

回答1

0

ベストアンサー

動作未検証のため、ご利用テーマのfunctions.phpに以下のようなコードを追加後に
設定の「パーマリンク設定」へ移動して、何も変更しないまま
「変更を保存」ボタンを押してから試してみて下さい

php

1function rewriteFunc(){ 2add_rewrite_rule('news/([^/]+)/?$', 'index.php?post_type=news&p=$matches[1]', 'top'); 3} 4add_action( 'init', 'rewriteFunc' );

投稿2019/11/21 14:33

編集2019/11/21 14:34
madone99

総合スコア1857

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

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

0001

2019/11/21 16:42

有り難うございます! 試したのですが「news」のカスタムポストの記事ページは 〇〇.jp/information/news/123/ のままでした。。
0001

2019/11/21 23:55

質問内容追記致しました!
madone99

2019/11/22 01:36

canonicalを設定されるかですね。 /投稿IDのアクセス時はどのようにされたいのでしょう? /投稿IDを/news/投稿IDにリライトするとリダイレクトループに なってしまうと思います。
0001

2019/11/24 03:52

有り難うございます! > /投稿IDのアクセス時はどのようにされたいのでしょう? /投稿IDを/news/投稿IDにリライトするとリダイレクトループに >なってしまうと思います。 はい、「/投稿ID」というページは無くしたく、/投稿IDにアクセスすると/news/投稿IDに飛ばしたいのですが、リダイレクトループになってしまうのですね... このような場合はcanonicalの設定を変えて「/投稿ID」は残したままの方が無難なものなのでしょうか。 どの方法が一番スマートなのか、と悩んでいます。
madone99

2019/11/24 05:49

そうなんですね。 こちらで対応とした事例としては、もっと良い対応があるかも知れないですが、 WordPressの仕様として、/投稿IDというURLへはindex.php?p=投稿IDでもアクセス可能ということもあり、cannonicalで、正規URLを「/news/投稿ID」で統一するように指定していました。
0001

2019/11/28 22:42

ご丁寧にありがとうございます! > /投稿IDというURLへはindex.php?p=投稿IDでもアクセス可能ということもあり、 恥ずかしながらこれは全く知りませんでした。 僕もそうするようにします!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問