하는 고객에게 통지하고 난 아래의 코드를 ? 나는 각국과 캐나다를 열거하는 것을 꺼리는 것이 좋을 것입니다.WooCommerce 운송 내가 체크 아웃시 선적 통지를 추가 할 필요가
나는 $woocommerce->customer->get_shipping_country()
을 보았지만 내 functions.php에서이를 구현하는 방법을 잘 모르며, 각 국가에서 Woocommerce가 사용하는 코드는 무엇입니까?
나를 도와 주셔서 감사합니다!
하는 고객에게 통지하고 난 아래의 코드를 ? 나는 각국과 캐나다를 열거하는 것을 꺼리는 것이 좋을 것입니다.WooCommerce 운송 내가 체크 아웃시 선적 통지를 추가 할 필요가
나는 $woocommerce->customer->get_shipping_country()
을 보았지만 내 functions.php에서이를 구현하는 방법을 잘 모르며, 각 국가에서 Woocommerce가 사용하는 코드는 무엇입니까?
나를 도와 주셔서 감사합니다!
여기에, 내부의 jQuery를 사용하여 재 방문 코드, 당신은 나라를 출하로 선정 될 것입니다 어느 나라 모든 경우에 모른다. 어떤 플러그인 파일도
function notice_shipping(){
?>
<script>
jQuery(document).ready(function($){
// Set the country code (That will NOT display the message)
var countryCode = 'FR';
var adressType = 'billing';
// Detecting If shipping Country is going to be used
$('#ship-to-different-address-checkbox').click(function(){
if($('.shipping_address').css('display') == 'none'){
adressType = 'billing';
} else {
adressType = 'shipping';
}
// console.log($adressType);
});
// Showing or hidding the message
$('select#billing_country, select#shipping_country').change(function(){
if(adressType == 'billing') {
selectedCountry = $('select#billing_country').val();
}
else if(adressType == 'shipping') {
selectedCountry = $('select#shipping_country').val();
}
if(selectedCountry == countryCode){
$('.shipping-notice').hide();
// console.log('hide');
}
else {
$('.shipping-notice').show();
// console.log('show');
}
// console.log(selectedCountry);
});
});
</script>
<?php
echo '<p id="allow" class="shipping-notice" style="display:none">Please allow 5-10 business days for delivery after order processing.</p>';
}
add_action('woocommerce_before_order_notes', 'notice_shipping');
이 코드는 활성 자식 테마 (또는 테마)의 function.php 파일에 간다 나 : 여기
는 코드입니다.이 코드는 테스트를 거쳐 완전히 작동합니다.
see here a raw demo(임시)입니다. 여기 체크 아웃시 메시지를 표시하지 않는 국가는 프랑스입니다.
woocommerce_before_order_notes
에서 고객의 주소를 확실히 알 수 있다고 생각하지 않습니다. 다음을 시도해 볼 수는 있지만 고객이 청구서 수신 주소를 제출할 때까지 작동하는지 확신 할 수 없습니다. 고객이 항상 등록되어 있지 않기 때문에
// adds order note at checkout page
function notice_shipping($checkout) {
$country = WC()->customer->get_shipping_country();
if($country != 'US'){
echo '<p id="allow">Please allow 5-10 business days for delivery after order processing.</p>';
}
}
add_action('woocommerce_before_order_notes', 'notice_shipping');
오 참, 참. 나는 그것을 보여줄 수있는 더 좋은 곳을 찾아야 할 것이다. 어떤 제안? 나는 그 갈고리를 올려다보고 아침에 생각해야 할 것이다. 나는 내가 집을 떠날 때까지 아침까지 시험 할 수 없을 것이다. 감사! – Xenocide122
니스! 나는 JS가 더 나은 해결책일지도 모른다고 생각하고 있었지만 육체적 인 시간은 없었습니다. – helgatheviking
@helgatheviking Thanks :) ... 나는 또한 매우 복잡하고 새로운 매우 새로운 WooCommerce 프로젝트에 조금 바빴다. 그래서 내 대답은 늦게 도착합니다. 당신의 대답은 굉장합니다! – LoicTheAztec
와우 감사합니다! 내가 필요한 것! – Xenocide122