Cách đặt sên bài khi sử dụng wp_insert_post ();?


9

Chủ đề của tôi sử dụng một mẫu tùy chỉnh để hiển thị một số nội dung. Để sử dụng mẫu này, tôi nối vào after_switch_themeđể tạo trang của riêng mình sau khi chủ đề được kích hoạt, sau đó gán mẫu này cho nó.

Đây là cách tôi làm điều đó:

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

Tuy nhiên, sên của trang luôn theo sau tiêu đề. Nó có nghĩa là, sên luôn custom-page. Có vẻ như wp_insert_post()không hỗ trợ bài sên, vì không có bất kỳ tham chiếu mã nào.

Tôi cần đặt sên vì tiêu đề của trang là một cái gì đó rất phổ biến và có thể có một trang khác với cùng một sên đã tồn tại.

Tôi có thể làm cái này như thế nào?

Câu trả lời:


11

Tham số để chèn một con sên tùy chỉnh là:

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

Không post_slugnhư người ta nghĩ! :)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.