フォーラムへの返信

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック投稿者 mamap

    (@mamap)

    jim912さん、お返事ありがとうございます。
    お礼が遅くなってしまい申し訳ございません。

    ご回答を頂いてから、改めてタクソノミーについて調べてみました。
    まだ完全には理解しきれていませんが、
    タクソノミーにすれば上記のような問題も起きないようですね。
    タクソノミーに変更する方向で進めてみます。

    トピック投稿者 mamap

    (@mamap)

    自己解決です。

    >「ドメイン/forums/users/ユーザの表示名/」
    「ドメイン/forums/users/ユーザID/」に変更しました。

    add_action( 'init', 'nicenames_to_user_id' );
    function nicenames_to_user_id() {
        foreach ( get_users() as $user ) {
    //		if ( $user->data->user_status == 0 && $user->data->user_nicename != $user->data->display_name ) {
    		if ( $user->data->user_status == 0 && $user->data->user_nicename != $user->ID ) {
    			$user_ids[] = $user->ID;
    		}
    	}
    
    	if( !empty($user_ids) ) {
    		foreach( $user_ids as $uid ) {
    			$info = get_userdata( $uid );
    			$display_name = $info->data->display_name;
    			if ($display_name) {
    				$args = array(
    					'ID'            => $uid,
    					'user_nicename' => $uid
    				);
    				wp_update_user( $args );
    			}
    		}
    	}
    }

    >上記コードを削除しても、元には戻らなくなってしまいました。
    wp_update_user( $args );してるので当然ですね・・・。

    トピック投稿者 mamap

    (@mamap)

    解決済みとします

    トピック投稿者 mamap

    (@mamap)

    試しにテーマを「Twenty Fourteen」に変更したところ、
    トピック名:あいう ⇒ ドメイン/forums/topic/あいう/
    となりました。

    本件は、私が使用していたテーマのfunction.phpで
    自分で入力した半角英数文字のスラッグ以外は、
    自動で {投稿タイプ}-{記事ID} に変換するための下記の処理

    function auto_post_slug( $slug, $post_ID, $post_status, $post_type ) {
        if ( preg_match( '/(%[0-9a-f]{2})+/', $slug ) ) {
            $slug = utf8_uri_encode( $post_type ) . '-' . $post_ID;
        }
        return $slug;
    }
    add_filter( 'wp_unique_post_slug', 'auto_post_slug', 10, 4  );

    を行っていたのが原因でした。

    対策として、子テーマのfunction.phpで

    function after_gush_theme_setup () {
    	remove_filter( 'wp_unique_post_slug', 'auto_post_slug', 10, 4  );
    }
    add_action( after_setup_theme, after_gush_theme_setup );

    をすることで、「twenty four」などと同様の動きになりました。

    トピック投稿者 mamap

    (@mamap)

    すでに運用中のためクリーンインストールは試せていないのですが、
    bbpressをいったん削除し、インストールし直しました。(bbpress 2.5.4)
    しかし、結果は変わらずでした。

    パーマリンク設定画面で保存ボタンの押すのも試しましたが、
    こちらもダメでした。

    ただ、皆様の環境では問題なく動いているということはわかりましたので、
    もう少し調査をしたいと思います。

    WordPress 3.9.1 ja
    bbPress 2.5.4
    テーマ gush(子テーマでカスタマイズしてます)
    MySQL 5.6.13
    データベースの文字コード UTF-8 Unicode (utf8)

5件の返信を表示中 - 1 - 5件目 (全5件中)