sourcetip

wocommerce_before_cart 동작 수정 방법

fileupload 2023. 10. 10. 20:53
반응형

wocommerce_before_cart 동작 수정 방법

우커머스 카트 템플릿이 전체 12열 레이아웃으로 표시되도록 하려고 합니다.

기존 레이아웃은 부트스트랩의 col-sm-8 컬럼을 사용하고 있습니다.col-sm-12로 변경해야 합니다.

<main class="main col-sm-8" role="main">
  <div class="page-header">
   <h1>Cart</h1>
  </div>

<div class="woocommerce">...</div>

<div class="woocommerce-info">...</div>

<div class="cart-collaterals">
    // shipping code etc.
</div>
</main>

여기에 나와 있는 관련 woo-templates를 확인하고 cart.php 템플릿을 내 테마에 복사하여 재정의했습니다.하지만 수정해야 할 것 같습니다.woocommerce_before_cart변경을 위한 조치<main>레이아웃 및 삽입col-sm-12클래스. 나는 이 우커머스 페이지에서 관련된 행동들을 찾았습니다.

눈에 보이는 것은cart.php템플릿: 에 앞서 호출된 작업<form>아래와 같은 요소:

global $woocommerce;

wc_print_notices();

do_action( 'woocommerce_before_cart' ); ?>

<form action="<?php echo esc_url( WC()->cart->get_cart_url() ); ?>" method="post">

<?php do_action( 'woocommerce_before_cart_table' ); ?>

<table class="shop_table cart" cellspacing="0">enter code here

저는 php가 처음인데, 이 작업의 출력을 어떻게 수정하면 레이아웃을 12열로 변경할 수 있을까요?

우커머스는 cart.php의 내용을 페이지에 삽입합니다.당신의 테마의 뿌리에 있는 php.:)

wocommerce가 'wocommerce_before_cart' 또는 'wocommerce_before_cart_table'에 대한 액션 후크를 생성하는 것 같지 않습니다. 이를 has_action()으로 확인할 수 있습니다.그들은 개발자들이 확장해야 할 제안으로 거기에 있는 것 같습니다.cart.php에서 제거하거나(개발자가 향후 릴리스 또는 인기 플러그인을 위해 사용할 수 있지만) 사용하려면 테마 함수에 추가합니다.php.

add_action('woocommerce_before_cart', 'sample', 1);

function sample() {
    echo '<h1>hello</h1>';
}

편집: 이전 답변에 대한 답변을 읽어 보십시오. 사용 중인 테마가 기능에 후크를 생성하는 것 같습니다.php 파일, 찾아보세요.

add_action('woo_commerce_before_cart', 'sample', X);

'sample'은 호출되는 함수의 이름이고 X가 우선 순위입니다.해당 함수의 출력을 수정하거나 다른 함수를 후크에 추가할 수 있습니다.

하위 테마를 사용하는 모든 사용자의 경우 부모 테마가 cart.php 템플릿을 이미 재정의하는 경우가 있으며, 특히 테마 포레스트 제품과 같이 사용자 지정이 심한 경우가 있습니다.그래서 원래 cart.php를 우커머스에서 복사하지 말고, 상위 테마 템플릿에서 복사하세요.

언급URL : https://stackoverflow.com/questions/23521142/how-to-modify-woocommerce-before-cart-action

반응형