0

テーマのアクティベーションにパーマリンク構造を設定しようとしています。テーマの function.php に含まれる以下の関数。

// Executes function on theme activation
function myactivationfunction() {

    global $wp_rewrite;
    $wp_rewrite->set_permalink_structure( '/%category%/%postname%/' );
    // register taxonomies/post types here
    flush_rewrite_rules();

}
add_action("after_switch_theme", "myactivationfunction", 10 ,  2);

このコードは正しく機能しますが、値が .htaccess に書き込まれないか、.htaccess が作成されません。.htaccess ファイルを動的に書き込むにはどうすればよいですか?

どんな助けでも大歓迎です。

ありがとう

4

1 に答える 1

1

フラッシュは で実行するadmin_init必要があり、テーマ スイッチ コールバック内で呼び出すため、一度だけ実行されます。

add_action( 'after_switch_theme', 'activate_so_19333403' );

function activate_so_19333403() {
    add_action( 'admin_init', 'flush_rewrites_so_19333403' );
}

function flush_rewrites_so_19333403() {
    global $wp_rewrite;
    $wp_rewrite->set_permalink_structure( '/%category%/%postname%/' );
    flush_rewrite_rules();  
}
于 2013-10-12T19:12:42.257 に答える