web-dev-qa-db-fra.com

Préfixez les publications régulières avec un slug personnalisé, sans affecter les types de publication personnalisés?

La politique de ma société est d’ajouter "/ blog /" à nos publications. Normalement, notre équipe de référencement le fait via le paramètre Custom Permalinks (/ blog /% postname%), mais cela a également l’effet secondaire de pré-en attente/blog/vers d’autres types de publications personnalisées.

Je sais que je peux définir l'attribut with_front sur false lors de l'enregistrement de types de publication personnalisés pour éviter ce problème, mais il est très pénible lorsque Themes ajoute ses propres types de publication personnalisés ou si nous héritons des sites d'autres développeurs.

Quelqu'un d'autre a-t-il rencontré ce problème et, le cas échéant, comment y remédier?

2
user3183717

Utilisez le filtre register_post_type_args pour modifier les types de publication enregistrés par un code que vous ne contrôlez pas.

Vous pouvez le définir pour un type spécifique:

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

Ou supprimez cette vérification $post_type pour la modifier pour tous les types personnalisés.

2
Milo