Rumah  >  Soal Jawab  >  teks badan

Paksa WordPress untuk menjana slug siaran daripada tajuk hanya pada jenis siaran tersuai tertentu

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粉514458863P粉514458863175 hari yang lalu267

membalas semua(1)saya akan balas

  • P粉985686557

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

    balas
    0
  • Batalbalas