Cara mengatur postingan siput ketika menggunakan wp_insert_post () ;?

9

Tema saya menggunakan template khusus untuk membuat beberapa konten. Untuk menggunakan templat ini, saya menghubungkan ke after_switch_thememembuat halaman saya sendiri setelah tema diaktifkan, dan kemudian menetapkan templat ini untuk itu.

Beginilah cara saya melakukannya:

$new_page_title = __('Custom page');
$new_page_content = '';
$new_page_template = 'page-custom.php';
$page_check = get_page_by_title($new_page_title);
$new_page = array(
        'post_type' => 'page',
        'post_title' => $new_page_title,
        'post_content' => $new_page_content,
        'post_status' => 'publish',
        'post_author' => 1,
        'post_slug' => 'my-custom-slug'
);
if( !isset($page_check->ID) ){
    $new_page_id = wp_insert_post($new_page);
    if(!empty($new_page_template)){
        update_post_meta($new_page_id, '_wp_page_template', $new_page_template);
    }
}

Namun, siput halaman selalu mengikuti judul. Artinya, siput itu selalu custom-page. Sepertinya wp_insert_post()tidak mendukung post slug, karena tidak ada referensi kode.

Saya perlu mengatur siput karena judul halaman adalah sesuatu yang sangat populer, dan mungkin ada halaman lain dengan siput yang sama sudah ada.

Bagaimana saya bisa melakukan ini?

Jack Johansson
sumber

Jawaban:

11

Parameter untuk memasukkan siput khusus adalah:

'post_name' => 'my-custom-slug'

Tidak post_slugseperti yang orang pikirkan! :)

mayersdesign
sumber