it-swarm.com.de

Stellt reguläre Posts mit benutzerdefiniertem Slug voran, ohne die benutzerdefinierten Post-Typen zu beeinflussen?

Meine Firmenrichtlinie ist es, "/ blog /" unseren Post-Slugs voranzustellen. Normalerweise macht unser SEO-Team dies über die Einstellung "Benutzerdefinierte Permalinks" (/ blog /% postname%). Dies hat jedoch den Nebeneffekt, dass/blog/auch für andere benutzerdefinierte Post-Typen aussteht.

Ich weiß, dass ich das with_front-Attribut auf false setzen kann, wenn ich benutzerdefinierte Beitragstypen registriere, um dieses Problem zu vermeiden, aber es ist ziemlich schmerzhaft, wenn Themen ihre eigenen benutzerdefinierten Beitragstypen hinzufügen oder wenn wir Websites von anderen Entwicklern erben.

Ist noch jemand auf dieses Problem gestoßen, und wenn ja, wie können Sie es umgehen?

2
user3183717

Verwenden Sie den Filter register_post_type_args, um Beitragstypen zu ändern, die durch Code registriert wurden, den Sie nicht kontrollieren.

Sie können es für einen bestimmten Typ festlegen:

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;
}

Oder entfernen Sie dieses $post_type Häkchen, um es für alle benutzerdefinierten Typen zu ändern.

2
Milo