via WordPress (ワードプレス) その2 PHP MySQL OSS

444 :Trackback(774) :sage :2007/02/01(木) 00:54:07 ID:rp6UjrhC
投稿するたびに投稿スラッグを設定するのやめて
最初から、投稿タイトルから自動的に投稿スラッグを
決めてくれる機能が欲しいんだけど、無いかな?

できれば、日本語がタイトルに使われたときは、
自動的にローマ字に返還してそれを投稿スラッグに設定してくれると
嬉しい。

445 :Trackback(774) :sage :2007/02/01(木) 01:52:30 ID:hVLnxbmj
漢字を使った日本語をローマ字にするには
形態素解析のソフトウェアがいるだろね

447 :Trackback(774) :sage :2007/02/01(木) 02:19:58 ID:5j6SC9w4
>>445
そうか、ならば、MovableTypeと同じく、
日本語が使われているところは無視して、
アルファベットがあるところだけ抜き取ってスラッグにしてほしい。
で、日本語しか使われてないエントリはpost56みたいに連番するだけの
投稿スラッグということで。

448 :Trackback(774) :sage :2007/02/01(木) 04:23:16 ID:eVHapqD6
そういうプラグインよろしく↓

449 :Trackback(774) :2007/02/01(木) 08:01:06 ID:9mjOYXTx
<? php
/*
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-z0-9 _-]/', '', $title);
}
? >

453 :Trackback(774) :sage :2007/02/01(木) 14:17:54 ID:MBDqjoxC
>>449-450
早い。
それで本当に完成声なのか?

コールバック関数と思われる関数の引数の中にあるsanitize_titleは
WordPressにある既存の関数名なのだな?

454 :Trackback(774) :sage :2007/02/01(木) 15:01:28 ID:eVHapqD6
>>449-450
ちょw
テラハヤスwww動くの?ww

456 :449 :sage :2007/02/01(木) 16:34:36 ID:9mjOYXTx
>>453
> コールバック関数と思われる関数の引数の中にあるsanitize_titleは
> WordPressにある既存の関数名なのだな?
フィルタを呼び出すフックの名前っす。

一応2.1でテストした。

パーマリンクに %postname% を指定しなきゃいいんじゃないかなーと思ったけど,そういう事じゃないのね。
“最初からpost slug を指定したくない。指定するなら (0-9|a-z|A-Z|-|_) からのみ“
という事なのね。なるほど。
>499 のコードを使うには,エディタへコピペして mtstyle-postname-for-wp.php みたいなファイル名で保存するといいと思います。
それはさておき,この連携はすごいなー。2ch発プラグインの2本目か3本目だと思います。似たようなプラグインに Slug Trimmer というものがあるのですけど,これはポストスラッグに入っている一定数以上の文字列を取り去るものなので,これともまた違う感じです。

ちなみに,>445 が言ってるものは,茶筌KAKASI和布蕪,のようなプログラム。詳しくは 形態素解析 にて。
そうえば,hiromasa さんがこの辺の記事を書いて 自分のブログにはどういう言葉/単語が多くでるのか の統計を出していたような。