第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

替換 WooCommerce 中未登錄用戶的“添加到購物車”按鈕

替換 WooCommerce 中未登錄用戶的“添加到購物車”按鈕

PHP
繁華開滿天機 2023-08-26 10:19:10
在 WooCommerce 中,我不想為未登錄的用戶顯示產(chǎn)品“添加到購物車”按鈕。我正在使用下面的代碼更改“添加到購物車”按鈕:// Replace add to cart button with link for users who aren't logged inadd_filter( 'woocommerce_loop_add_to_cart_link', 'replace_loop_add_to_cart_button', 10, 2 );function replace_loop_add_to_cart_button( $button, $product  ) {    // Logged in users see add to cart button    if( is_user_logged_in() ) return;    $button_text = __( "Sign up for pricing", "woocommerce" );    $button = '<div><a class="button" href="https://example.com/link">' . $button_text . '</a></div>';    return $button;}它適用于除單個產(chǎn)品頁面之外的所有頁面。產(chǎn)品頁面繼續(xù)顯示默認的“添加到購物車”按鈕。我缺少什么?
查看完整描述

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)過測試并有效。


查看完整回答
反對 回復 2023-08-26
  • 1 回答
  • 0 關(guān)注
  • 197 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號