如何在带有 oceanWP 主题的 wordpress 网站上仅更改徽标的主页 url?
How do I change only the home url of logo on a wordpress site with oceanWP theme?
我在 abc.com 上部署了一个站点,它使用 angular 作为主页,使用 WordPress 作为博客。我已将 WordPress 网站部署在 abc.com 内的子文件夹中。文件结构如下图所示。
现在我只想更改 WordPress 网站徽标上的主页 link,单击该主页会将我们重定向到 abc.com。博客的其余部分 links 将正常工作,比如 'abc.com/myProj/blog-detail'
File structure image
OceanWP 使用 the_custom_logo()
功能来显示您的自定义徽标,并 link 到 WordPress 站点的主页(示例。com/myProj)。呈现徽标的文件位于 /wp-content/themes/oceanwp/partials/header/logo.php
.
您可以使用get_custom_logo
钩子修改自定义徽标的HTML 并将link 更改为指向实际主页(example.com)。
为此,您必须创建一个 child theme(或插件)并在 functions.php
文件中插入以下内容:
<?php
/**
* Modify the logo link
*
* @param string $html Custom logo HTML output
* @param int $blog_id ID of the blog to get the custom logo for
* @return string Custom logo HTML output with modified link
*/
function oceanwp_child_modify_logo_link( $html, $blog_id ) {
$custom_logo_id = get_theme_mod( 'custom_logo' );
$html = sprintf(
'<a href="%1$s" class="custom-logo-link" rel="home">%2$s</a>',
esc_url( 'https://example.com/' ), // modify the link here
wp_get_attachment_image( $custom_logo_id, 'full', false, $custom_logo_attr )
);
return $html;
}
add_filter( 'get_custom_logo', 'oceanwp_child_modify_logo_link', 10, 2 );
如果你还需要处理logo alt属性为空或未设置logo等情况,可参考get_custom_logo()
功能
(我已经在 WordPress 5.3.2 和 OceanWP 1.7.4 上测试过了)
我在 abc.com 上部署了一个站点,它使用 angular 作为主页,使用 WordPress 作为博客。我已将 WordPress 网站部署在 abc.com 内的子文件夹中。文件结构如下图所示。
现在我只想更改 WordPress 网站徽标上的主页 link,单击该主页会将我们重定向到 abc.com。博客的其余部分 links 将正常工作,比如 'abc.com/myProj/blog-detail'
File structure image
OceanWP 使用 the_custom_logo()
功能来显示您的自定义徽标,并 link 到 WordPress 站点的主页(示例。com/myProj)。呈现徽标的文件位于 /wp-content/themes/oceanwp/partials/header/logo.php
.
您可以使用get_custom_logo
钩子修改自定义徽标的HTML 并将link 更改为指向实际主页(example.com)。
为此,您必须创建一个 child theme(或插件)并在 functions.php
文件中插入以下内容:
<?php
/**
* Modify the logo link
*
* @param string $html Custom logo HTML output
* @param int $blog_id ID of the blog to get the custom logo for
* @return string Custom logo HTML output with modified link
*/
function oceanwp_child_modify_logo_link( $html, $blog_id ) {
$custom_logo_id = get_theme_mod( 'custom_logo' );
$html = sprintf(
'<a href="%1$s" class="custom-logo-link" rel="home">%2$s</a>',
esc_url( 'https://example.com/' ), // modify the link here
wp_get_attachment_image( $custom_logo_id, 'full', false, $custom_logo_attr )
);
return $html;
}
add_filter( 'get_custom_logo', 'oceanwp_child_modify_logo_link', 10, 2 );
如果你还需要处理logo alt属性为空或未设置logo等情况,可参考get_custom_logo()
功能
(我已经在 WordPress 5.3.2 和 OceanWP 1.7.4 上测试过了)