如果您在customizer中设置徽标,并且您的主题使用the_custom_logo()
或get_theme_logo()
要显示徽标,则可以使用wp_get_attachment_image_attributes
并检查类别是否为“自定义徽标”。如果是,则将src属性更改为任意位置。您仍然需要在自定义程序中设置徽标。
namespace StackExchange\\WordPress;
function imageAtts( array $attr, \\WP_Post $attachment, $size ) : array {
if( \'custom-logo\' === $attr[ \'class\' ] ) {
$attr[ \'src\' ] = \'https://example.com/logo.jpg\';
}
return $attr;
}
\\add_filter( \'wp_get_attachment_image_attributes\', __NAMESPACE__ . \'\\imageAtts\', 10, 3 );
如果不想在自定义程序中设置徽标,可以使用
get_custom_logo
滤器
namespace StackExchange\\WordPress;
function imageAtts( string $html, int $blog_id ) : string {
return sprintf(
\'<a href="%1$s" class="custom-logo-link" rel="home" itemprop="url">%2$s</a>\',
\\esc_url( home_url( \'/\' ) ),
\'https://example.com/logo.jpg\'
);
}
\\add_filter( \'get_custom_logo\', __NAMESPACE__ . \'\\getCustomLogo\', 10, 2 );
无论哪种方式,在主题的代码中,使用
the_custom_logo()
显示徽标。