Forcer WordPress à générer un post slug à partir du titre uniquement sur des types de publication personnalisés spécifiques
P粉514458863
P粉514458863 2024-03-31 18:58:26
0
1
384

J'ai utilisé le code ci-dessous pour forcer WordPress à générer le slug de publication à partir du titre de la publication même si l'utilisateur définit un slug différent ou copie un autre slug, mais je voulais que cela n'affecte qu'un type de publication spécifique appelé job_listing mais malheureusement c'est le cas. Tous les types de publications sur mon site Web.

function myplugin_update_slug( $data, $postarr ) {
if ( ! in_array( $data['post_status'], array( 'draft', 'pending', 'auto-draft' ) ) ) {
    $data['post_name'] = sanitize_title( $data['post_title'] );
}

return $data;
}

add_filter( 'wp_insert_post_data', 'myplugin_update_slug', 99, 2 );

Comment utiliser le code ci-dessus pour cibler uniquement un type de publication spécifique nommé job_listing sans affecter les autres types de publication

Quelqu'un peut-il m'aider à modifier ce code en fonction de mes besoins ?

Nous serions reconnaissants de votre aide.

P粉514458863
P粉514458863

répondre à tous(1)
P粉985686557

D'après la documentation $data 包含 post_type Vous devriez donc pouvoir l'utiliser :

function myplugin_update_slug( $data, $postarr ) {
    if ( $data['post_type'] === 'job_listing' && ! in_array( $data['post_status'], array( 'draft', 'pending', 'auto-draft' ) ) ) {
        $data['post_name'] = sanitize_title( $data['post_title'] );
    }

    return $data;
}

add_filter( 'wp_insert_post_data', 'myplugin_update_slug', 99, 2 );
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal