Paksa WordPress untuk menjana slug siaran daripada tajuk hanya pada jenis siaran tersuai tertentu
P粉514458863
P粉514458863 2024-03-31 18:58:26
0
1
387

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粉514458863
P粉514458863

membalas semua(1)
P粉985686557

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 );
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan