问题描述
我为我的主题启用了 custom-logo
,并将其与<?php the_custom_logo(); ?>
打印到标题中。有没有机会直接添加更多的类到这个图像?默认情况下,它只附带 custom-logo
。
最佳解决方案
WordPress 为自定义徽标定制提供了一个过滤钩。挂钩 get_custom_logo
是过滤器。要更改标志类,此代码可能会帮助您。
add_filter( 'get_custom_logo', 'change_logo_class' );
function change_logo_class( $html ) {
$html = str_replace( 'custom-logo', 'your-custom-class', $html );
$html = str_replace( 'custom-logo-link', 'your-custom-class', $html );
return $html;
}
参考:How to change wordpress custom logo and logo link class
次佳解决方案
以下是一个建议,我们如何尝试通过 wp_get_attachment_image_attributes
过滤器 (未测试) 添加类:
add_filter( 'wp_get_attachment_image_attributes', function( $attr )
{
if( isset( $attr['class'] ) && 'custom-logo' === $attr['class'] )
$attr['class'] = 'custom-logo foo-bar foo bar';
return $attr;
} );
您可以根据自己的需要调整课程。
第三种解决方案
当你发现自己的 the_custom_logo
依赖于 get_custom_logo
,它本身调用 wp_get_attachment_image
添加 custom-logo
类。后一个函数有一个过滤器 wp_get_attachment_image_attributes
,您可以使用它来处理图像属性。
所以你可以做的是构建一个过滤器,检查 custom-logo
类是否存在,如果是,则添加更多的类。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。