카트, 체크아웃 및 단일 제품 페이지에서 Woocommerce 사이드바를 삭제하려면 어떻게 해야 합니까?
처음 woocommerce를 사용하기 시작하는 많은 사람들처럼 나는 그것을 커스터마이즈하는 방법을 알아야 한다.특정 상황에서는 카트, 체크아웃 및 단일 제품 페이지에서 사이드바를 삭제하고 싶습니다.사이드바는 정의되어 사이드바에서 호출됩니다.php는 다음 코드를 사용합니다.
<?php dynamic_sidebar('global-sidebar'); ?>
나는 오랫동안 유효한 답을 찾으려고 노력했지만 올바른 코드나 해결책을 찾을 수 없을 것 같다.아마 내가 직접 물어보는 게 효과가 있을 거야.그런데 다른 기사와 사용법에 대한 답변은 정말 감사하지만 나에게는 효과가 없습니다.
그 전에 Bootstrap(2014년 최신 버전)을 사용하여 Wordpress 웹사이트를 스타일링하고 있습니다.그게 중요한지는 모르겠지만 아마 그럴지도 몰라.
Woocommerce에게 Cart, Checkout 및 Single Product 페이지에 사이드바를 표시하지 않도록 하는 방법을 알려주시겠습니까?
p.s. 웹사이트는 이쪽 > wp.wunderful.co.uk (클라이언트 웹사이트 프로젝트 사이트)에 있습니다.
대시보드 페이지에서 "카트" 페이지로 이동하여 "페이지 속성 섹션" -> "템플릿"에서 "전체 폭"을 선택합니다. 그러면 사이드바가 없는 페이지가 나타납니다.
이론상으로는 다음과 같은 것이 유효하지만, 저는 아직 테스트하지 않았습니다.(테마의 기능에 추가)
function so_25700650_remove_sidebar(){
if( is_checkout() || is_cart() || is_product() ){
remove_action( 'woocommerce_sidebar', 'woocommerce_get_sidebar', 10 );
}
}
add_action('woocommerce_before_main_content', 'so_25700650_remove_sidebar' );
Woo 템플릿을 보시면
<?php
/**
* woocommerce_sidebar hook
*
* @hooked woocommerce_get_sidebar - 10
*/
do_action( 'woocommerce_sidebar' );
?>
여기 사이드바를 표시해 주세요.라고 Woo가 말합니다.단, 이 기능은woocommerce_get_sidebar
기능하다woocommerce_sidebar
후크...위에서 설명한 것처럼 그 기능을 해제할 수 있기 때문에 편리합니다.마지막으로, 저는 Woo의 조건부 논리를 사용하여 요청하신 페이지의 동작에서 함수를 뺄 뿐입니다.
제 기능을 실행하고 있습니다.woocommerce_before_main_content
훅, 네 테마가 그 훅을 제거하지 않았다면 효과가 있을 거야.만약 그렇다면, 당신은wp_head
또는 확실히 존재한다고 보증되는 것을 확인할 수 있습니다.is_checkout()
기능이 존재하거나 WooCommerce를 비활성화할 경우 테마가 깨질 위험이 있습니다.저는 WooCommerce 전용 페이지에서만 실행해야 하기 때문에 WooCommerce 기능이 정의되어 있는지 확인하는 것은 오버킬일 수 있습니다.
중요사항:
기본 테마 또는 자체 사용자 지정 사이드바 기능을 실행하지 않는 테마를 가정합니다.주제가 다른 작업을 수행하는 경우 해당 기능과 템플릿을 조사해야 합니다.
해서 할 것은 '을 만들어야 한다', '파일을 한다', '파일을 만들어야 한다'입니다.woocomemrce.php
아직 존재하지 않는 경우, 당신의 테마로.그런 다음 페이지 템플릿 파일에서 전체 너비 및 사이드바가 있는 페이지를 보고 구조 및 차이점을 확인해야 합니다.루프를 php로 대체하다woocommerce_content()
자세한 것은, 이 페이지를 참조해 주세요.마지막으로 다른 페이지 템플리트의 차이점을 확인한 후 다른 위치에서 if 문을 사용합니다.
if( is_post_type_archive( 'product' ) ) :
//Content to display in the list view (i.e. with sidebar)
else :
//Content to display all other views (i.e. without sidebar)
endif;
.woocommerce-cart .sidebar {
display: none;
}
.woocommerce-cart .content-area {
width: 100%;
}
을 custom/style.css
.
부터
https://wordpress.org/support/topic/remove-sidebar-for-woocommerce-cart-and-checkout-pages/
당신의 테마, 아마도 하위 테마, 기능.php
add_action('wp_head', 'hide_sidebar' ); function hide_sidebar(){ if(is_cart() || is_checkout()){ ?>
<style type="text/css">
#secondary {
display: none;
}
</style>
<?php
}
기능에서 액션 훅을 사용할 카트, 체크아웃 및 단일 제품 페이지에서 사이드바를 제거하려면 다음과 같이 하십시오.php 파일 -
add_action('woocommerce_before_main_content', 'remove_sidebar' );
function remove_sidebar()
{
if( is_checkout() || is_cart() || is_product()) {
remove_action( 'woocommerce_sidebar', 'woocommerce_get_sidebar', 10);
}
}
여기서 WooCommerce Action과 Filter Hook을 입수할 수 있습니다.https://docs.woothemes.com/wc-apidocs/hook-docs.html
언급URL : https://stackoverflow.com/questions/25700650/how-do-i-remove-woocommerce-sidebar-from-cart-checkout-and-single-product-pages
'programing' 카테고리의 다른 글
스프링 DAO vs 스프링 ORM vs 스프링 JDBC (0) | 2023.03.12 |
---|---|
WordPress가 Expires 헤더의 캐시 방지 값으로 1984년 1월 11일을 사용하는 이유는 무엇입니까? (0) | 2023.03.12 |
와일드플라이 스프링 부트 웹소켓 (0) | 2023.03.12 |
앵글을 사용하여 활성 탭 스타일 설정JS (0) | 2023.03.12 |
프로젝터 테스트:로그인 폼에서 텍스트 요소의 값을 설정하려면 어떻게 해야 합니까? (0) | 2023.03.12 |