@TimothyKA当您访问属性页面时,您的解决方案可能会返回true,但在任何分类页面上都会返回true(并且可能会在所有其他页面上生成PHP警告)。
您需要创建一个仅在处理属性页时才返回true的条件函数。以下各项应该可以正常工作:
function my_is_wc_attribute() {
/**
* Attributes are proper taxonomies, therefore first thing is
* to check if we are on a taxonomy page using the is_tax().
* Also, a further check if the taxonomy_is_product_attribute
* function exists is necessary, in order to ensure that this
* function does not produce fatal errors when the WooCommerce
* is not activated
*/
if ( is_tax() && function_exists( \'taxonomy_is_product_attribute\') ) {
// now we know for sure that the queried object is a taxonomy
$tax_obj = get_queried_object();
return taxonomy_is_product_attribute( $tax_obj->taxonomy );
}
return false;
}
将上述函数添加到函数后。php中,您可以创建尽可能多的过滤器和操作来自定义属性页。例如,以下过滤器允许您仅操纵属性标题:
function my_single_term_title_filter( $attribute_title ) {
if ( my_is_wc_attribute() ) {
// do your stuff here
}
return $attribute_title;
}
add_filter( \'single_term_title\', \'my_single_term_title_filter\' );
不要忘记用您自己的前缀替换my\\uem前缀,以避免函数命名冲突。