※追記
上記の質問では
具体的にはデフォルトの状態ですと
「http://example.com/information/お知らせテスト」
のように末尾が日本語URLになってしまい、それを避けたいので「設定>パーマリンク設定>カスタム構造」のところに
/%post_id%
や
/%year%/%monthnum%/%day%/%hour%/%minute%
等と設定してみたのですがパーマリンクは変わらないままでした。
と書いていましたが一部私の勘違いだったようで、本当はデフォルトの状態だと
「http://example.com/?infomation=お知らせテスト」
と出力され、カスタム構造でデフォルト以外を選ぶと
「http://example.com/information/お知らせテスト」
になるようです。
しかし依然パーマリンクの末尾を日本語URL(%postname%)以外にする方法がわかりません。
アドバイスがありましたらよろしくお願いいたします。
投稿の編集画面で、パーマリンクを英語に(例えばtest)したら、URLは http://example.com/information/test になると思います。
私の場合は、パーマリンクを %post_id%.htm にしたので、URLに日本語を含むことはありません。
sljfenさん
返信ありがとうございます。
投稿スラッグを手動で設定すれば日本語URLにならないことは知っていたのですが、入力者はウェブやCMSにうとい方を対象にしておりますで手動での設定は避けたいと思っています。
(理想は手動で設定の必要ないポストIDにしたい)
前提の条件を提示していなくてすみませんでした。
私の場合は、パーマリンクを %post_id%.htm にしたので、URLに日本語を含むことはありません。
確かに標準の“投稿”からポストした記事はパーマリンクが変更されるのですが、カスタム投稿タイプからポストしたものはパーマリンクが意図通りに変更されませんでした。
sljfenさんの環境では、カスタム投稿タイプからポストした記事でパーマリンクの変更が出来ているのしょうか?
先テストしたら、うまく行ったので、ここで記入します。
利用するプラグイン
Custom Post Type UI 0.6.1
Post Type Switcher 0.2
カスタム投稿タイプの編集画面にある詳細設定の「カスタムリライトスラッグ」項目に「post_id」を記入すれば、認識されます。
【備考】
私の場合は、先に設定をしてからカスタム投稿記事を書くので、認識できますが、既存のカスタム投稿記事について、未確認です。
sljfenさんお返事ありがとうございます。
カスタム投稿タイプの編集画面にある詳細設定の「カスタムリライトスラッグ」項目に「post_id」を記入すれば、認識されます。
新たにDBを作成しWordPressを再インストール⇒Custom Post Type UI・Post Type Switcherをインストール⇒Custom Post Type UIでカスタム投稿タイプを作成する際、カスタムリライトスラッグにpost_idと入力。
以上の手順で試してみたのですが、
「http://example.com/information/お知らせテスト」が
「http://example.com/post_id/お知らせテスト」となるだけでうまくいきませんでした。
なにか条件が違うのでしょうか?
あと気になった点はPost Type Switcherというプラグインは、なんのために必要なのでしょうか?このプラグインは記事を作成した後でも他の投稿タイプに移すことができるプラグインのようです。Custom Post Type UIと連携しているようにも思えないのですが…
再度インストール後のパーマリンク設定と.htaccess の内容はどうなりますか?
こちらの設定順番:
1.「設定」⇒「パーマリンク設定」に「/%post_id%.htm」を設定する。
2..htaccess の内容:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ – [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
3.カスタム投稿タイプの編集画面にある詳細設定を行う。
4.記事を投稿して、サイトに確認したら、
URLは「http://ドメイン名/11.htm」となっています。
【備考】Post Type Switcherを停止しても正常に稼動するので、このプラグインは不要です。
.htaccessを見比べたところ、もしかしたらsljfenさんの環境はWordPress MUからWordPress 3.0にアップグレードしたものかWordPress 3.0のネットワーク機能を有効化したものではないでしょうか?
最初に言うのを忘れていて申し訳ないのですが私の環境はネットワーク機能を使っていないシングルサイトなのでWordPressが吐き出す.htaccessの内容もパーマリンクの挙動も違ってくると思います。
ちなみに私のWordPressが吐き出した.htaccessの内容は以下です。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
私の技術レベルでは環境の違いの差を埋めてCustom Post Type UIで意図したパーマリンクへの変更は難しいようです。
代わりに「CMS Press」というプラグインを見つけました。このプラグインではカスタム投稿タイプ毎にパーマリンク構造を自由に設定でき、私の要望を満たしていました。一応これでこのトピックは解決済みにします。
sljfenさん、アドバイスは活かせなかったのですが、お付き合いしていただきありがとうございました。