我需要将标题转换为标签。我想控制长度。不希望标签太短或太长,如果标签不存在,我还需要在标签前面添加一个井号标签(#),但清除任何其他字符。
下面的代码有效,但它仅将哈希标签应用于前两个标签。
$title = get_the_title($post_id);
$splittotags = explode(" ", $title);
foreach ($splittotags as $atag){
if( strlen($atag) > 4 && strlen($atag) < 15 ){
$first = $atag[0];
if($first == '#'){
$atagg = ereg_replace("[^A-Za-z0-9#]", "", $atag );
}else{
$atagg = ereg_replace("[^A-Za-z0-9#]", "", "#".$atag );
}
if($atag !=NULL){
wp_set_object_terms($post_id, $atagg, 'post_tag', true );
}
}
}
我也在考虑定义一个带有错误标签的数组,如下所示:
$not_tag = array("!", "by", "me", "auto", "mine", "by");
然后这样做:
if( !in_array($atag, $not_tag){
代码在 save_post 操作上运行
这样做的最佳方法是什么?