我在这里有一个代码,它会将产品插入到woocommerce的数据库中:
$post = array(
'post_author' => $user_id,
'post_content' => '',
'post_status' => "publish",
'post_title' => $product->part_num,
'post_parent' => '',
'post_type' => "product",
);
$post_id = wp_insert_post( $post, $wp_error );
但是,在插入新产品之前,我想检查一下slug是否存在于数据库中,否则,我想添加一个新的并在slug上附加一个数字。
示例输入:
$new_url = sanitize_title('This Long Title is what My Post or Page might be');
输出:
这长的标题 - 是 - 什么 - 我 - 后或页面,可能成为的
现在,我想检查数据库中是否已存在此slug。如果它存在,我会在slug上添加一个数字(就像wordpress permalink正在做的那样)。如果它已经存在,我想将其输出为:
这长的标题 - 是 - 什么 - 我 - 后或页面,可能待1
我想将新产品与新的slug一起添加到数据库中。
有人知道吗?
答案 0 :(得分:0)
未经测试但只编写了该代码。试试看,让我知道
function slug_exists($slug){
if(get_page_by_path( $slug, OBJECT, 'product' )){
return true;
}
return false;
}
$slug = 'your_slug';
$new_slug = $slug;
$c=1;
while(slug_exists($new_slug)){
$new_slug = $slug.'-'.$c;
$c++;
}
// $ new_slug包含您想要的slug