1 回答

TA貢獻1853條經(jīng)驗 獲得超18個贊
更新:將單個產(chǎn)品上的按鈕鏈接添加到我的帳戶登錄 URL
以下將以更好的方式完成您想要的一切(替換您的代碼):
// Replacing the button add to cart by a link to the product page in Shop and archives pages
add_filter( 'woocommerce_loop_add_to_cart_link', 'replace_loop_add_to_cart_button', 10, 2 );
function replace_loop_add_to_cart_button( $button, $product ) {
// Only for unlogged user
if( ! is_user_logged_in() ){
$button_text = __( "Sign up for pricing", "woocommerce" );
// $button_link = get_permalink( wc_get_page_id( 'myaccount' ) ); // Login Url
$button_link = $product->get_permalink(); // Single product Url
$button = '<a class="button" href="' . $product->get_permalink() . '">' . $button_text . '</a>';
}
return $button;
}
// Replacing the single product button add to cart by a custom button
add_action( 'woocommerce_single_product_summary', 'disabled_single_add_to_cart_button', 1 );
function disabled_single_add_to_cart_button() {
global $product;
// Only for unlogged user
if( ! is_user_logged_in() ){
// For variable product types (keeping attribute select fields)
if( $product->is_type( 'variable' ) ) {
remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation_add_to_cart_button', 20 );
add_action( 'woocommerce_single_variation', 'custom_product_button', 20 );
}
// For all other product types
else {
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
add_action( 'woocommerce_single_product_summary', 'custom_product_button', 30 );
}
}
}
// The custom replacement button function inked to loggin page
function custom_product_button(){
$login_url = get_permalink( wc_get_page_id( 'myaccount' ) );
echo '<a class="button" href="'.$login_url.'">' . __( "Sign up for pricing", "woocommerce" ) . '</a>';
}
代碼位于活動子主題(活動主題)的functions.php 文件中。經(jīng)過測試并有效。
要在單個產(chǎn)品頁面上禁用按鈕,請改用:
// The custom replacement button function with a disabled button
function custom_product_button(){
echo '<a class="button disabled">' . __( "Sign up for pricing", "woocommerce" ) . '</a>';
}
要隱藏商店和存檔頁面上的價格:
add_filter( 'woocommerce_after_shop_loop_item_title', 'remove_woocommerce_loop_price', 2 );
function remove_woocommerce_loop_price() {
// Only for unlogged user
if( ! is_user_logged_in() )
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
}
要從單個產(chǎn)品頁面中刪除產(chǎn)品價格:
add_filter( 'woocommerce_single_product_summary', 'remove_woocommerce_single_price', 2 );
function remove_woocommerce_single_price() {
// Only for unlogged user
if( ! is_user_logged_in() )
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
}
// Hide variations price for variable products
add_filter( 'woocommerce_available_variation', 'hide_variations_price_html', 10, 3) ;
function hide_variations_price_html( $data, $product, $variation ) {
// Only for unlogged user
if( ! is_user_logged_in() )
$data['price_html'] = ' ';
return $data;
}
代碼位于活動子主題(活動主題)的functions.php 文件中。經(jīng)過測試并有效。
- 1 回答
- 0 關(guān)注
- 197 瀏覽
添加回答
舉報