尝试使用以下代码:
add_filter(\'the_title\', \'mod_product__title\', 10, 2);
function mod_product__title($title, $id) {
if( is_product() ) {
if(preg_match(\'/[^(:|.)]*/\', $title, $matches)){
return trim($matches[0]);
}else{
return $title;
}
}
return $title;
}
这里我使用regex来匹配
.
或
:
. Regex将只匹配第一个匹配项,并返回其前面的文本。那我就用
trim()
以除去任何额外的尾随空间。如果它与任何内容都不匹配,那么它将返回完整的标题。
更新以下代码检查它是管理列表还是前端,并相应地修改标题
add_filter(\'the_title\', \'mod_product__title\', 10, 2);
function mod_product__title($title, $id) {
global $pagenow;
if ( $pagenow != \'edit.php\' && get_post_type( $id ) == \'product\' ) {
if(preg_match(\'/[^(:|.)]*/\', $title, $matches)){
return trim($matches[0]);
}else{
return $title;
}
}
return $title;
}