• 解決済 nashigon

    (@nashigon)


    最終的にはカテゴリページのURLを
    http://*****.co.jp/AAA.html
    にしたいと思っています。
    間に入る「category」はパーマリンク設定のカテゴリベースに「.」を入れることで取ることができたのですが、「.html」を付ける事ができません。
    カテゴリのURLに「.html」を付けることは可能なのでしょうか?
    プラグイン、function.phpへの追記などやり方が何でもいいのでよろしくお願いします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • 以前のサイトが .html で、今後はWordPressで運用していく使い方でということでしたら、
    http://*****.co.jp/AAA.html でアクセスされたら、http://*****.co.jp/AAA にリダイレクトするようにして、次第に http://*****.co.jp/AAA.html でのアクセスを減らして、検索エンジンが http://*****.co.jp/AAA を多くヒットできるようにするほうが得策ではないかしら。

    とりあえず、categoryのURLの末尾にhtmlをつけるだけならば、
    categoryがWordPress内で初期化された後に add_permastruct を使って、パーマリンク構造を変更できます。

    add_action('registered_taxonomy', 'add_html_ext_for_category_link', 10, 3);
    function add_html_ext_for_category_link( $taxonomy, $object_type, $args ) {
    	if ( $taxonomy == 'category' ) {
    		add_permastruct( $taxonomy, "{$args['rewrite']['slug']}/%$taxonomy%.html", $args['rewrite'] );
    	}
    }
    トピック投稿者 nashigon

    (@nashigon)

    Toro_Unitさんありがとうございます。
    早速試させて頂いたのですが、.htmlが付く代わりに今度は「category」が出てきてしまいました(^_^;)
    「.html」を付ければ「category」が現れ→http://*****.co.jp/category/AAA.html
    「category」を消せば「.html」が消え→http://*****.co.jp/AAA
    どちらかしか無理なんでしょうか?(^_^;)
    http://*****.co.jp/AAA.html←こういう状態にしたいのですが…

    URLからcategoryを削除すること自体は、

    add_permastruct( $taxonomy, "%$taxonomy%.html", $args['rewrite'] );

    で実現できますが、様々なURLと競合が発生する可能性があります。(たとえば固定ページにも.htmlをつけた場合、パーマリンクを/%postname%.htmlに設定した場合…etc.)

    ですので単純にパーマリンクを変更するだけでは収まらない話になってくるので、避けた方が無難かと思います。

    トピック投稿者 nashigon

    (@nashigon)

    Toro_Unitさんご忠告ありがとうございます。
    考えてみればそうですよね(^_^;)
    ページが増えれば増えるほど競合してしまう可能性がありますよね。
    カテゴリは「.html」なしでいこうと思います。
    大変勉強になりました。
    ありがとうございました。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「カテゴリのURLに.htmlを付けれる?」には新たに返信することはできません。