Maison > Questions et réponses > le corps du texte
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粉9856865572024-04-01 17:10:50
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 );