用自定义按钮替换访客的 WooCommerce 店面搜索框
Replace WooCommerce storefront search box for guests by a custom button
在 woocommerce 店面 header 上,对于 not-logged 用户,我想用 2 个金色 bootstrap 按钮替换搜索框区域:“登录”、“注册”(如Whosebug landing-page header),将客人发送到我自定义的 login/register 网址。在您的帮助下,我得到了 PHP 和 CSS 片段,可以很好地隐藏 no-logged 用户的搜索框,但我不知道下一步该怎么做:
add_filter( 'body_class', 'add_body_class_for_guest' );
function add_body_class_for_guest( $classes ) {
// Only for non logged users
if( ! is_user_logged_in() ) {
$classes[] = 'not-logged';
}
return $classes;
}
CSS:
.not-logged .site-header .site-search { display: none; }
要用链接到登录/注册页面的按钮替换店面搜索框,对于未登录的用户,您可以使用以下内容 (所以不要使用您的代码并删除 CSS 规则):
add_action( 'storefront_header', 'custom_storefront_header_search', 1 );
function custom_storefront_header_search() {
// Only for non logged users
if( ! is_user_logged_in() ) {
remove_action( 'storefront_header', 'storefront_product_search', 40 ); // remove search box
add_action( 'storefront_header', 'storefront_product_search_replacement', 40 ); // Replacement
}
}
// Function that displays the replacement buttons
function storefront_product_search_replacement() {
?>
<div class="site-search login-register">
<a href="<?php echo wc_get_page_permalink('myaccount'); ?>" class="button"><?php _e('Login / Register', 'woocommerce'); ?></a>
</div>
<?php
}
代码进入活动子主题(或活动主题)的 functions.php 文件。已测试并有效。
Now you will be able to add your custom buttons html code and style them as you like…
访客用户将获得以下内容:
在 woocommerce 店面 header 上,对于 not-logged 用户,我想用 2 个金色 bootstrap 按钮替换搜索框区域:“登录”、“注册”(如Whosebug landing-page header),将客人发送到我自定义的 login/register 网址。在您的帮助下,我得到了 PHP 和 CSS 片段,可以很好地隐藏 no-logged 用户的搜索框,但我不知道下一步该怎么做:
add_filter( 'body_class', 'add_body_class_for_guest' );
function add_body_class_for_guest( $classes ) {
// Only for non logged users
if( ! is_user_logged_in() ) {
$classes[] = 'not-logged';
}
return $classes;
}
CSS:
.not-logged .site-header .site-search { display: none; }
要用链接到登录/注册页面的按钮替换店面搜索框,对于未登录的用户,您可以使用以下内容 (所以不要使用您的代码并删除 CSS 规则):
add_action( 'storefront_header', 'custom_storefront_header_search', 1 );
function custom_storefront_header_search() {
// Only for non logged users
if( ! is_user_logged_in() ) {
remove_action( 'storefront_header', 'storefront_product_search', 40 ); // remove search box
add_action( 'storefront_header', 'storefront_product_search_replacement', 40 ); // Replacement
}
}
// Function that displays the replacement buttons
function storefront_product_search_replacement() {
?>
<div class="site-search login-register">
<a href="<?php echo wc_get_page_permalink('myaccount'); ?>" class="button"><?php _e('Login / Register', 'woocommerce'); ?></a>
</div>
<?php
}
代码进入活动子主题(或活动主题)的 functions.php 文件。已测试并有效。
Now you will be able to add your custom buttons html code and style them as you like…
访客用户将获得以下内容: