HOME > WordPress > パーマリンクをpost_idからpostnameに変更する



パーマリンクをpost_idからpostnameに変更する

2012年1月20日 | カテゴリー: WordPress | タグ : , ,


post_idに問題

このブログを作成したときにパーマリンクは

/%category%/%post_id%

と設定していました。

ただ、記事を追加するたびに記事番号が飛び飛びに。
どうやらプレビューや自動保存でどんどんpost_idが増えていく仕様のようです。

ちょっと気持ち悪いけどまぁいいかと思っていたところ、重大な問題が。

WordPressのパーマリンク問題 | BLOGRAM

実は%post_id%にはもっと大きな落とし穴があって、サーバの移転などでデータのエクスポート/インポートを行うと空き番号を詰めてしまうため、一回でも記事の削除をしたことがあるとIDがずれてURLが変わってしまうという、致命的な問題がある。

当分このサーバを使っていく予定だけど、サーバの移転をすることがあるかもしれないと考えると、何か別のパーマリンクにしておいた方がよさそうです。
幸いまだ記事が少ないのでダメージも少ないですしね。

postnameがうまくいかない

パーマリンクを変更するため、面倒だけど記事を書く時にスラッグを入力していくことに決めました。
スラッグは順番に1、2、3、4、5というように。
設定はこちら。

/%category%/%postname%

でも、これを設定したところ、親カテゴリのある記事で
以下のようなエラーが表示されるようになってしまいました。

Top Level Categoriesというプラグインを使用しているので、
それの影響かと思いましたがどうも関係がない様子。
しばらくここで悩む・・・・

何となく

/%category%/0%postname%

というように0を付け加えてみたところ記事がちゃんと表示されるように。
(多分他の文字でも大丈夫)

0だけついているのはおかしいので、
記事のスラッグも0をいくつか加えてなんとか今のパーマリンクとなり解決!!

ところが今度は別の問題が発生。

「続きを読む」のリンク先

その問題というのは「続きを読む」のリンク先が、
識別名にpost_idの番号を使った物になってしまうということ。
こんな感じ。

http://yasutaro.info/blog/pc/parts/000010#more-140

「続きを読む」自体の機能は問題なく動いているのですが、
途中からの表示になるのも好きじゃない。

それを解決してくれたのがこちらのCustom-More-Link-Completeです。

Custom-More-Link-Complete

このプラグインをインストールすると設定に項目が増えますので、
そこで表示の仕方を設定をします。

ちなみにこちらのように設定しました。

続きを読む <a href=”%permalink%” class=”%class%”>%title%</a>

あと、index.phpthe_content()が使われている箇所も下記のように修正します

<?php the_content(); ?>

これでパーマリンク問題はやっと解決です。

にほんブログ村 パソコン・周辺機器




コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です