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

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

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

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

Q&A

解決済

2回答

2175閲覧

パーマリンクの変更方法

hizirida

総合スコア36

WordPress

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

0グッド

0クリップ

投稿2016/05/20 03:11

編集2016/05/21 04:07

wordpree パーマリンクの変更についての質問です。

DBにてパーマリンク設定は理解しているのですが、

固定ページを利用するプラグインで、生成された固定ページに、

プラグインが強制的に末尾(post_id)を、postnameに変更してしまいます。

プラグインにはパーマリンクのカスタム構成できる機能は備わっていません。

postnameだとURLが長くなりすぎるので、シンプルにpost_idにしたい場合、

functions.phpで制御できそうな気がしますが、その術がさっぱり分かりません。

希望としては、こちらのQ&Aサイト(teratail)みたいなURLにしたいです。

もしfunctions.phpで制御できれば、

そのファイルってどこの階層に置けばいいんですかね。

ご伝授ください。

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

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

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

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

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

kei344

2016/05/20 04:16

使用しているプラグイン、パーマリンク設定に設定されている情報、「Q&Aサイト(teratail)みたいなURL」はもう少し具体的に例を、質問文に追記ください。
hizirida

2016/05/20 06:36 編集

利用しているプラグインは「DW Question & Answer」です。 プラグインを利用すると、WP基本的なパーマリンクが反映されず、固定ページのタイトル部分がURLになります。 ワードプレスのパーマリンク設定は 数字ベース 「/archives/%post_id%」
guest

回答2

0

ベストアンサー

根本的な解決ではありませんが・・・
function.phpに下記を追加して、保存時にslugをpost_idに変更してしまうのはどうでしょうか。

function.phpは現在お使いのテーマファイルのディレクトリ内にあると思いますが、無い場合は下記のみを記述したfunction.phpファイルを追加すれば大丈夫です。

php

1add_filter('wp_unique_post_slug', 'change_post_slug', 10, 4); 2function change_post_slug($slug, $post_ID, $post_status, $post_type){ 3 $postTypeArr = array( 4 'dwqa-question' 5 ); 6 if(in_array($post_type, $postTypeArr)){ 7 $slug = $post_ID; 8 } 9 return $slug; 10}

投稿2016/05/20 15:33

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

hizirida

2016/05/21 02:54

やってみましたが、問題は解消されず、変化すらありませんでした。 因みに現状は、 DB>設定>パーマリンク設定 で設定変更すると、 基本:  URL ドメイン/?dwqa-question=投稿名 日付と投稿名:  URL  ドメイン/?dwqa-question=投稿名  月と投稿名:  URL  ドメイン/?dwqa-question=投稿名  見たいな感じのURLになり、制御することは出来ません。 また、ご提案していただいたコードをfunction.phpに追記しても、 制御できません。
hizirida

2016/05/21 02:56

>保存時にslugをpost_idに変更 とありますが、どこのスラッグを変更するか分からず、 思い当たるところを順に変更しましたが、変化は見られません。
退会済みユーザー

退会済みユーザー

2016/05/21 03:32

回答で提示したものはQを保存する際に「投稿名」でslugが登録される際に「post_id」がslugに登録されるように差し替えるものです。 すでに投稿済みのものがどうなるかは試していませんが ・新規のQを登録 ・既存のQを再保存 を試して見てください。 「新規のQを登録」に関してはテストした環境で動作していましたので問題ないと思います。
hizirida

2016/05/21 03:48

この制御方法は、プラグイン「DW Question & Answer」だけに反映されるものなのでしょうか。
退会済みユーザー

退会済みユーザー

2016/05/21 04:13

`dwqa-question`の部分で適応させるpost_typeを指定しているので他の投稿タイプの場合は動作しません。 ただhiziridaさんの環境での動作保証をすることはできませんのでテスト環境で確認するなりwp_unique_post_slugを調べてみることをおすすめします。
hizirida

2016/05/21 05:17

問題が解決しました。 感謝いたします。
guest

0

DW Question & Answer では通常のパーマリンク設定を参照しているようです。
パーマリンクをもう一度再設定し、「保存」を押して確認してみてください。パスの問題はこれで解決することが多くあります。

【Any Way to Change the Permalink for Single Question? | DesignWall】
https://www.designwall.com/question/any-way-to-change-the-permalink-for-single-question/

投稿2016/05/20 06:59

kei344

総合スコア69366

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

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

hizirida

2016/05/20 09:19

DW Question & Answerにはパーマリンク設定がありますが、 スラッグ的なもので、%postname%や%post_id%を使用するとエラーが出ます。 またDB>設定>パーマリンク設定で、設定し直しても、それは反映されず、問題は解決しません。既存のもので設定変更は何度となく試みて、駄目だったのでfunctions.phpで制御できないものかと思ったのです。
kei344

2016/05/20 13:27

DB>設定>パーマリンク設定で規定の選択肢である「数字ベース」を選んでも同じでしょうか。
hizirida

2016/05/21 03:12

DB>設定>パーマリンク設定では、 全ての選択肢を試しましたが、どれも制御できませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問