web-dev-qa-db-ja.com

カスタム投稿タイプに影響を与えずに、カスタムスラッグを通常の投稿に追加しますか?

私の会社の方針は、 "/ blog /"を私たちのPostのナメクジの前に付けることです。通常、私たちのSEOチームはこれをカスタムパーマリンク設定(/ blog /%postname%)を通して行いますが、これは他のカスタム投稿タイプに対しても/ blog /を先送りするという副作用があります。

この問題を回避するためにカスタム投稿タイプを登録するときにwith_front属性をfalseに設定できることはわかっていますが、テーマが独自のカスタム投稿タイプを追加する場合、または他の開発者からサイトを継承する場合は大変です。

他の誰かがこの問題に遭遇しました、そして、もしそうなら、どのようにあなたはそれを回避しますか?

2
user3183717

register_post_type_argsフィルタを使用して、自分が管理できないコードで登録されている投稿タイプを変更します。

特定の種類に設定できます。

add_filter( 'register_post_type_args', 'wpd_change_post_type_args', 10, 2 );
function wpd_change_post_type_args( $args, $post_type ){
    if( 'turnips' == $post_type ){
        $args['rewrite']['with_front'] = false;
    }
    return $args;
}

または、$post_typeチェックを削除して、すべてのカスタムタイプに対して変更します。

2
Milo