WordPressで、Movabletypeの様にタイトルに含まれる半角英数等のみをパーマリンクに設定するためのプラグイン
2009
Jan 25
未分類 plugin, WordPress View Comments
WordPressで記事を投稿する際、Movabletypeの様に、タイトルに含まれた半角英数文字だけをパーマリンクに設定したい方にオススメのプラグイン。
WordPressのパーマリンク設定で「%postname%」とした場合、タイトルの日本語をそのまま投稿slug(スラッグ)として設定するので、ブラウザによってはURLエンコードが行われて「%E3%82%A6%E3%82%A3%E3%82%AD%E3%83%9A%E3%83%87%E3%82%A3%E3%82%A2」など、とてつもなく長いURLになってしまう。(例は「ウィキペディア」をUTF-8でURLエンコードした場合)
しかし、以下のコードをphpファイルとして保存し、任意のファイル名でWordPressのプラグインフォルダにアップロード・適用すると、タイトル中の「a〜z」「A〜Z」「0〜9」「,(ダッシュ)」「_(アンダーバー)」だけをピックアップしてslug(スラッグ)に設定してくれる。
また、英語の文字と文字の間は「-(ハイフン)」で繋いでくれる上に、URLが重複した際はWordPress側で「-2」などの値を自動付与してくれる。
※日本語のみのタイトルには、Post_IDをslug(スラッグ)として設定。
/*
* Plugin Name: MT Style Post Name
* Description: タイトルから英数字、ダッシュ、アンダーバーのみ抜き取ってスラッグに。日本語しか使われてないエントリはPost_IDを使う。
* Author: 449
* Plugin URI: http://pc10.2ch.net/test/read.cgi/blog/1163599919
* Version: 0.1
* */
add_filter('sanitize_title','sanitize_title_numalpha_only',9);
function sanitize_title_numalpha_only($title) {
return preg_replace('/[^%a-zA-Z0-9 ¥(¥)_-]/', '-', $title);
}
?>
wordpressで投稿の際のslugを英語だけに自動でする方法
具体的な手順は以下の通り
プラグインのインストール方法
- コードをテキストエディタなどに貼付け、任意の名前(拡張子は.php)で保存する。ここではmtstyle-postname-for-wp.phpとする。
- mtstyle-postname-for-wp.phpをwordpress > wp-content > pluginsフォルダにアップロードする。
- WordPressの管理画面にログインし、プラグイン管理メニューに表示されたmtstyle-postname-for-wpを「使用する」に設定する。
このプラグインを導入すれば、URLが長くなることも、「日本語URL」と「URLエンコードされたURL」が別のURLとして認識されことによるブックマークの散在も回避できそうだ。
投稿の都度、パーマリンク名を日本語からアルファベットに直す手間も省けるので、便利ですね。
Facebook
Flickr
last.fm
myspace
posterous
Twitter
RSS
Latest Comments