Wordpress MU カテゴリースラッグを自由に設定する

WordpressMUでは通常のWordpressと違い、なぜかカテゴリースラッグが設定できません。

日本語カテゴリーだと、カテゴリーリンクが記号交じりの変なURLになってしまいます。。。

そこで、ハックを試み成功しましたのでメモしておきます!

同じ悩みがある方のお役に立てば幸いです。

1. wp-admin/edit_category_form.php に次の行を記載

記載箇所は、

  <tr class=”form-field form-required”>
 ・・・・
 </tr>

の次あたりでいいと思います。

↓記載内容はここから
<th scope=”row” valign=”top”><label for=”category_nicename”><?php _e(’Category slug:’) ?></label></th>
<td><input name=”category_nicename” id=”category_nicename” type=”text” value=”<?php echo attribute_escape($category->category_nicename); ?>” size=”40″ /></td>
</tr>
↑ここまで

2. wp-includes/taxonomy.php の function wp_update_term を修正

wp_update_term は1608行目あたりにあります。(バージョンによって違うかもしれません)

 2-1. global $wpdb; の次の行に

    $slugtmp = $args['slug'];

    を追加

 2-2. $args = apply_filters( ‘pre_update_term’, $term, $taxonomy, $args ); の次に

        if($slugtmp) $args['slug'] = $slugtmp;

        を追加

 

以上で、カテゴリースラッグを自由に設定できます。

今のところ問題なく使えていますが、不具合等あったらコメント等で知らせてください。

5 Responses

  1. takuya Says:

    wpmu 2.6.1でやってみましたが、これをやると全てがブランクページになってしまいます。

    またこのバージョンですとtaxonomyだと1467行辺りにwp_update_termがありました。

    フォーラムにもなんでこの機能が消えているのか?という質問(要望)もありますね。カテゴリースラッグが変更できないのは日本語ユーザーには更に厳しいですね。

  2. admin Says:

    そうですか!ご不便おかけしました!

    変数の値をチェースしていると

    $args = apply_filters

    のところで、カテゴリースラッグが、カテゴリー名で上書きされてしまうので、
    事前にカテゴリースラッグ名をtmpに取得しておいて、apply_filtersのあとで元に戻してやるというのが上記の方法です。

    MU自体にスラッグ機能が速く実装されるといいのですが。

  3. WordPress MU カテゴリースラッグの設定 | まったりなぶろぐ Says:

    [...] Wordpress MU カテゴリースラッグを自由に設定する (PHPpress) [...]

  4. ynaga Says:

    こんにちは
    最近WPMU2.7に移行しました。

    今回のバージョンは
    Quick Editで、カテゴリースラッグを自由に設定できるように見えるのですが、やはり変更できないようです。

    解決方法をご存じないですか?

  5. そのぐら。 - WPMU設置までのあれこれ Says:

    [...] とりあえずMEMO的に。 たぶん3度目くらいの設置なのに、毎回調べながらの設置でほとほと疲れたから。   ■CORESERVERにWordpressMUをサブドメイン形式でインストールする場合の覚書。  ■coreserverにWordpress MU   カテゴリースラッグがとほほな部分はコチラやコチラやコチラなどを参考にあれこれいじってみたけれど、どうにもうまくできなかった。 パーマリンクの設定もカテゴリ入れてないし、まーいっか…とデフォルトに戻した。 マルチユーザーゆえにカテゴリー周りの自由度に制限入れてるってのはわかるけど、 そこがWPMUのしんどいところだなって改めて思う。    なんか色々とつまづいていた記憶はあるのだけれど、時間経つとサッパリやね(^^; やっぱメモはこまめに取っておかないと!   [...]

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.

© PHPress since 2008