Rumah > Soal Jawab > teks badan
Saya menggunakan kod di bawah untuk memaksa WordPress menjana slug siaran daripada tajuk siaran walaupun pengguna mentakrifkan slug yang berbeza atau menyalin slug lain, tetapi saya mahu ini hanya mempengaruhi jenis siaran tertentu yang dipanggil job_listing tetapi malangnya ia berlaku Semua jenis siaran di laman web saya.
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 );
Cara menggunakan kod di atas untuk menyasarkan hanya jenis jawatan tertentu bernama job_listing tanpa menjejaskan jenis jawatan lain
Bolehkah seseorang membantu saya mengubah suai kod ini agar sesuai dengan keperluan saya?
Kami akan berterima kasih atas bantuan anda.
P粉9856865572024-04-01 17:10:50
Mengikut dokumentasi $data
包含 post_type
Jadi anda sepatutnya boleh menggunakannya:
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 );