web-dev-qa-db-ja.com

私の新しいボタンは間違った場所にあります

当初、在庫状況や入力された価格があるかどうかに基づいて、[カートに追加]ボタンを[照会する]に変更しようとしていました。私は一種の可用性の部分を手に入れましたが、それでも価格の部分を手に入れることはできません。また、私の新しいボタンが「カートに追加」ボタンと同じ場所に表示されていません。何がおかしいのですか?

また、タブのリンクは私がそれを必要とする方法で働いていません。 ... クリック するかどうかがわかります。

また、どのように私は両方のボタンのサイズを最大幅に制限しますか。以下は私がこれまでに持っているものです。

add_action('woocommerce_single_product_summary','replace_add_to_cart');
    function replace_add_to_cart() {
    global $product;

        if ( ! $product->is_in_stock() ){
            remove_action( 'woocommerce_single_product_summary','woocommerce_template_single_add_to_cart', 30 );
            add_action( 'woocommerce_single_product_summary','consult_bezambar_expert', 30 );

    function consult_bezambar_expert() {
    global $product;

        echo '<form action="' . esc_url($product->get_permalink( "#tab- reviews" )) . '" method="get">
            <button type="submit" class="single_add_to_cart_button button alt">Consult Bez Ambar Expert</button>
            </form>';
        }
    }
}
1
user2014990

私はそれを考え出しました、それは実際にはかなり単純な見落としでした。追加または削除のアクションが優先順位を表し、同じ優先順位を付けて問題を解決した後、番号を忘れてしまいました。だから私は削除をカートに追加するアクションの優先順位を削除しました。

だから私のコードは今このようになります

add_action('woocommerce_single_product_summary','replace_add_to_cart');
function replace_add_to_cart() {
global $product;

    if ( ! $product->is_in_stock() ){
        remove_action( 'woocommerce_single_product_summary','woocommerce_template_single_add_to_cart');
        add_action( 'woocommerce_single_product_summary','consult_bezambar_expert', 30 );

function consult_bezambar_expert() {
global $product;

    echo '<form action="' . esc_url($product->get_permalink( "#tab- reviews" )) . '" method="get">
        <button type="submit" class="single_add_to_cart_button button alt">Consult Bez Ambar Expert</button>
        </form>';
        }
    }
}
0
user2014990