我的主题使用自定义模板呈现某些内容。要使用此模板,我将after_switch_theme
在主题激活后创建我自己的页面,然后将此模板分配给它。
我就是这样做的:
$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);
}
}
然而,页面的slug始终位于标题之后。这意味着子弹总是
custom-page
. 似乎是
wp_insert_post()
不支持post-slug,因为代码引用中没有任何。
我需要设置slug,因为页面的标题非常流行,可能还有另一个页面已经存在相同的slug。
我该怎么做?