
投稿記事のURLにスラッグかPostIDを使うプラグイン
Category WordPress, WordPressプラグイン
Date 2011年03月27日
WordPressで記事を投稿する際、デフォルトでは記事のURLにタイトルが入ってくるので、日本語URLにしたくないという人はプラグインなどを入れていると思います。
今回紹介する(つくった)プラグインは、スラッグ(自分でつけたい任意のURL)か、PostIDをURLとするプラグインです。
「FC2やLivedoorブログの時とURLはほとんどそのままでWordPressに移行したいけど、投稿する時のURLはWordPressでも数字(PostID)にしたい!」
「今までURL指定してたけど、今後はなんとなくPostIDがいい!」
という場合などにどうぞっ。
※現在不具合がありますので、改善するまでダウンロードしないようお願いいたします。
目次
- バージョンアップしました
(2013年2月3日追記) - インストール
- 使い方
バージョンアップしました
2013年2月3日「Slug or PostID 1.0」を公開しました。
変更点は下記になります。
- Windows Live Writerなどからの投稿でもPostIDが入るように調整しました。
この機能を使うにはWordpress3.3以降が必要です。 - XML RPCからの投稿にも対応しました。
ただし、この場合のみスラッグに「postid」と入力しておく必要があります。
インストール
(1)↑のサイトからファイルをダウンロードして解凍し、できたフォルダをプラグインディレクトリに入れた後、プラグインを有効化します。
※現在不具合がありますので、改善するまでダウンロードしないようお願いいたします。
(2)Wordpressのパーマリンク設定を「%postname%」に設定します。

インストールはこれで終わりです。
使い方
このプラグイン導入後、URLは以下の2タイプとなります。URLを自分で指定する
投稿画面にあるパーマリンクの所で直接指定するか、スラッグを表示してそこに設定したいURLを入力します。
この欄に値が入っている場合、そのURLとなります。
URLをPostIDにする
新規投稿をして、投稿画面にあるパーマリンクやスラッグを何も入力しないまま『公開』または『下書き保存』をすると、URLがPostIDとなります。正確には、スラッグにPostIDが登録されます。

何も入力しなければ上記のようにタイトルが自動で指定されているように見えますが、保存時にPostIDに変わります。
また、一度スラッグを指定したあとでも、PostIDを指定したい際はスラッグに入力している値を削除してから一度OKを押し、その後『公開』または『下書き保存』をすると、URLがPostIDとなります。

使うことはレアケースかもしれませんが、必要とあればぜひご利用ください。
WordPress3.1で動作確認しています。
(2013年4月17日 追記)
※「投稿」ではなく「固定ページ」を新規登録しようとした場合、WordPressの仕様上サフィックス(-2など)がスラッグの後ろについてしまいます。
「固定ページ」においてはアルファベットも組み合わせた適切な名前をつけられることをお奨めいたします。
Tag WordPress
“投稿記事のURLにスラッグかPostIDを使うプラグイン” への20件のフィードバック
コメントを残す

- 脱出ゲームを作成しました
- Studio Yuksのサイト制作のお手伝いをさせていただきました
- よみがな.netを公開しました
- Slug or PostIDプラグインがバージョン1.0になりました。
- お問い合わせフォームへの連投を防ぐ方法+α
- phpMyAdminのsetup.phpに脆弱性があるみたいです
- 1つのデータベースに複数のWordPressをインストールする方法
- 仕事とプライベートで使っているマウスをご紹介
- WordPressでiFrameが消えないようにする記述が必要なくなったようです
- CSS3で横並びのメニューを簡単に作る方法
- FFFTPでファイルをダウンロードしたのに、ファイルがその場所になかった時
- Windows7にIllustratorCS2入れたけど日本語入力ができなかった
- PHPでurlの日本語パラメータをGETで受け取ると文字化けする場合
- お問い合わせフォームへの連投を防ぐ方法+α
- JavaScriptでブラウザのテキスト選択を解除する
- 投稿記事のURLにスラッグかPostIDを使うプラグイン
- WordPressでiFrameが消える時の解決方法
- PHPのSmartyでゼロパディングする
- EC-CUBE2.11.0とMySQLの組み合わせで文字化けする時の解決方法
- Photoshopで網点?みたいな加工をする
- HTML+CSS (8)
- JavaScript (12)
- PHP (21)
- PostgreSQL (4)
- WordPress (8)
- WordPressプラグイン (1)
- Movable Type (13)
- Photoshop (2)
- Illustrator (2)
- Firefox (5)
- ツール (2)
- 雑記 (23)
- 未分類 (3)
- Android (1)
[…] 投稿記事のURLにスラッグかPostIDを使うプラグイン […]
[…] スラッグを自動的にPostIDに置き換えるプラグインを入れておくことで、長々とした日本語のタイトルがパーマリンクになることを避けます。 […]
[…] ・Slugs or PostID […]
[…] 投稿記事のURLにスラッグかPostIDを使うプラグイン – うにまくら.jp […]
すごくたすかりました。
いろいろ検索し、いくつも試してみました。ファイルを直接書き換える情報のサイトも見ましたけど、WPのバージョンが変わってて該当箇所の記述がかわってたり。
中国語むけの機能もみました。
しかしこのプラグインが一番です。
WPの管理画面から探して組み込めると最高です。
[…] 「スラッグを自動的にPostIDに置き換えるプラグイン」 […]
[…] Slugs or PostID:記事のパーマリンクを、自動的に(PostID).htmlにしてくれるプラグイン。パーマリンク設定が/%postname%/に設定すると記事のタイトルが自動でスラッグ入力されます。記事のタイ […]
[…] 私はブログ記事のパーマリンクに日本語が入るのは嫌なので、Slugs or PostID プラグインを入れて、デフォルトでPostIDが入るようにしています。 […]
[…] ら…。 ちなみに、そのスラグの自動生成に関してはうにまくらさんの投稿記事のURLにスラッグかPostIDを使うプラグインを、PostIDでなく時間を元に生成する形に条件を変更する可変をした […]
Slug or PostID
上記プラグイン使わせて頂いたのですが、固定ページで作成すると「-2」というのが必ずつきます。
実際のpage idは一意の存在になっています。
回避する方法はないのでしょうか。
> 坂井様
ありがとうございます。
ご連絡いただいている件に関して、どのバージョンからかは判りませんが、WordPressの仕様が影響しております。
投稿ではなく、固定ページにおいて数字のみのスラッグを指定した場合、サフィックス(-2)が後ろについてしまう仕様になっているようです。
——————————————
参考:
wordpressでのパーマリンクの表示について
http://okwave.jp/qa/q6961509.html
——————————————
WordPress3.5にてソースを確認したところ、上記サイトの回答と同様に「wp-includes/post.php」の3108行目~3116行目あたりにおいて、問題の処理をしております。
ここのコアファイルの記述のうち、数字のみが引っ掛かる問題の記述
——————————————
|| preg_match( “@^($wp_rewrite->pagination_base)?\d+$@”, $slug )
——————————————
を取り除くことでサフィックス(-2)はつかなくなります。
ただ、WordPressのページ分割機能など他の機能において新たな問題が発生してしまう可能性が十分にございますので、コアファイルを修正される際は自己責任にてお願いいたします。
wordpress公式プラグインディレクトリにも書きましたが一応コチラにも。
ちょうどこういう機能が欲しくて喜んで使ってたのですが
スラッグを設定せずに自動でpostID割り当てられた記事が404エラーになってしまいます。
2サイトでこう言う症状があったので、一端使用を止めている状態です。
wordpress本体のバージョンによるものなのかとも思ったのですが、
3.3.1 動作
3.4.2 404エラー
3.5 動作
3.5.1 404エラー
と不規則だったので、wordpress本体のバージョンに依存するモノでも名些細。
また、3.3.1と3.4.2は同じサーバーでほぼ同じ設定、プラグインも同じモノを使用(若干のバージョン違いはありますが)しているので、プラグインの問題でもなさそうな・・・
同じような症状の報告はありませんでしょうか?
機能自体はすごく便利なので、バージョンアップを期待します。
> mmaker様
ご連絡ありがとうございます。
mmaker様と同様の症状の報告は今のところ聞いていないのですが、少し気になりますね。。
私の環境にて3.5.1で軽く試してみたのですが、404エラーとはなりませんでしたので、何か複合的な要因で起こるのかもしれません。
差し支えなければ、404エラーとなる環境に入っているその他のWordpressプラグインなどを教えて頂けないでしょうか?
同様の現象が起こるか検証してみたいと思います。
よろしくお願いいたします。
[…] 数字だけのパーマリンクは、PostIdを利用して、パーマリンク設定でカスタム構造を「/%post_id%」に設定したり、カスタム構造を「%postname%」に設定して、Slugs or PostIDを利用すると作れます。 […]
ご返信遅れました。
http://www.wakatta-blog.com/wordpress-permalink-4-humber-url.html
この記事にあるような四桁フィルタにかかってしまってたのかもしれません。
> mmaker様
ご連絡ありがとうございます。
私もその記事を拝見しました。
何かしら対処が出来ないか検討してみます。
その後、どうでしょうか?
プラグインのバージョンアップでの改善予定はありますか??
> mmaker様
現象が起こることをこちらでも確認し、プラグインでのうまい対処法がないかを模索しているのですが、まだ改修にまではいたっていないのが現状です。
折角使っていただいておりましたのに、申し訳ございません。
取り急ぎの対処としましては、Wordpress標準の年別ページを利用しないのであれば上記サイトで紹介されておりました
「http://ja.forums.wordpress.org/topic/11003?replies=5」
にある方法を行うことで、年別ページではなく投稿ページが表示されることを確認しておりますので、お試しくださいませ。
お手数をおかけいたしますが、何卒よろしくおねがいいたいします。
hi,thanks for your plugin.
And I would like to ask questions about category_slug.
I don’t know how to get category_id When create the new post.How to modify in the plugin?
–my code—-wrong-↓-
/**
* Get Post category ID
*/
function GetcategoryID($data=null) {
$categoryID = null;
if (isset($_POST[‘category_ID’])) {
$categoryID = $_POST[‘category_ID’];
}
return $categoryID;
}
——
Thank you very much!
> ruoliu
hi, ruoliu.
Please try this.
/**********************************/
function GetcategoryID($data=null) {
$categoryID = null;
if (isset($_POST[‘post_category’])) {
$categoryID = $_POST[‘post_category’];
}
return $categoryID;
}
/**********************************/
Caution, $_POST[‘post_category’] is array data.
Moreover, 0th in the array data is unnecessary.
Thank you.