주소를 직접 입력할 수 있도록 php 수정을 하였는데요, 주소 검색이 뜨지 않습니다.

게시판 필드추가가 아니라 php 소스에 직접 주소를 입력하게 작성하였는데, 동작하지 않습니다. 혹 가능한 소스가 있을까요?

그리고 가능하다면, 가입할때 회원정보에 있는 주소를 그대로 가져오고 싶은데요, 가능한지도 알려주세요.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요.

    코드에 버그가 있었습니다.

    KBoard 플러그인에서 input 태그에 name="kboard_option_postcode1" 이런 식으로 설정할 경우

    PHP 코드는 $content->option->postcode1 이런 식으로 적용해주셔야 합니다.

    다른 부분도 확인해서 수정해보시겠어요?

    고맙습니다.

  • 위에 내용대로 적용했을 경우 문제가 발생합니다. 데이터를 불러오긴 하는데, 저장(처음 등록시) 주소와 zipcode가 저장되지 않는 문제가 발생하는데요, 이 부분은 해결할 수 없을까요?

    다른 메타에서는 문제가 없는데 이 부분만 문제가 발생하는것 같습니다.

     

    아래는 적용한 소스입니다.

    <?php
    $user_id = get_current_user_id();
    $address11 = get_user_meta($user_id, 'billing_address_1', true);
    $address12 = get_user_meta($user_id, 'billing_address_2', true);
    $postcode1 = get_user_meta($user_id, 'postcode', true);
    ?>
    
    <li>
    	<label class="attr-name" for="kboard_option_postcode">한국 주소</label>
    	<div class="attr-value">
    		<input type="text" id="kboard_option_postcode1" name="kboard_option_postcode1" value="<?php echo $content->option->postcode ? $content->option->postcode : $postcode1?>" maxlength="5" oninput="maxLengthCheck(this)" placeholder="우편번호" required>
    		<input type="text" id="kboard_option_address1" name="kboard_option_address1" value="<?php echo $content->option->address ? $content->option->address : $address11?>" placeholder="기본주소" required>
    		<input type="text" id="kboard_option_address2" name="kboard_option_address2" value="<?php echo $content->option->address2 ? $content->option->address2 : $address12?>" placeholder="상세주소" required>
    		<button type="button" id="kboard_zip_btn" class="kboard-default-button-small" onclick="kboard_postcode_address_search()">우편번호/주소 검색</button>
    	</div>
    </li>
    
    
    
    <?php wp_enqueue_script('daum-postcode', 'https://spi.maps.daum.net/imap/map_js_init/postcode.v2.js', array(), '', true)?>
    
    <script>
    function kboard_postcode_address_search(){
    	var width = 500;
    	var height = 600;
    	new daum.Postcode({
    		width: width,
    		height: height,
    		oncomplete: function(data){
    			jQuery('#kboard_option_postcode1').val(data.zonecode);
    			jQuery('#kboard_option_address1').val(data.roadAddress);
    			
    			setTimeout(function(){
    				jQuery('#kboard_option_address1').focus();
    			});
    		}
    	}).open({
    		left: (screen.availWidth-width)*0.5,
    		top: (screen.availHeight-height)*0.5
    	});
    }
    </script>

     

    아래는  상세화면에 들어가있는 내용입니다.

    <td class="cell02_1"><span class="zipcode">(<?php echo $content->option->postcode?>)</span><br><?php echo $content->option->address?><?php echo $content->option->address2?></td>

     

    수정할때는 위에 저장했던 내용이 출력되지 않은채 빈칸으로 나오는데요;;; 

    전반적으로 수정해야할까요?

     

    처음에 알려주신 Fields는 실제 사용하지는 않고 billing_address_1, billing_address_2 가 실제 주소 메타 값이고, postcode 값이 우편번호를 출력하는 부분입니다.

     

     

  • 감사합니다 ^^~ 잘 적용되었습니다 ~ 

  • KBoard 플러그인 게시판에서 게시글 작성 시

    회원가입 정보를 표시하시려면

    올려주신 코드를 아래의 코드로 교체해서 활용해보시겠어요?

    <?php
    $user_id = get_current_user_id();
    $address = get_user_meta($user_id, 'address', true);
    $address2 = get_user_meta($user_id, 'address2', true);
    $zip = get_user_meta($user_id, 'zip', true);
    ?>
    <li>
    	<label class="attr-name" for="kboard_option_address">한국 주소</label>
    	<div class="attr-value">
    		<input type="text" id="kboard_option_address1" name="kboard_option_address" value="<?php echo $content->option->address ? $content->option->address : $address?>">
    		<input type="text" id="kboard_option_address2" name="kboard_option_address2" value="<?php echo $content->option->address2 ? $content->option->address2 : $address2?>">
    		<input type="text" id="kboard_option_zip" name="kboard_option_zip" value="<?php echo $content->option->zip ? $content->option->zip : $zip?>">
    	</div>
    </li>

    위의 코드에서 get_user_meta 함수 부분의 address, address2, zip 부분은

    실제 회원가입 시 필드의 메타키로 적용해보시겠어요?

    고맙습니다.

  • editor에 입력한 코드입니다.

     

    				<li>
    					<label class="attr-name" for="kboard_option_address">한국 주소</label>
    					<div class="attr-value">
    						<input type="text" id="kboard_option_address1" name="kboard_option_address" value="<?php echo $content->option->address?>">
    						<input type="text" id="kboard_option_address2" name="kboard_option_address2" value="<?php echo $content->option->address2?>">
    						<input type="text" id="kboard_option_zip" name="kboard_option_zip" value="<?php echo $content->option->zip?>">
    					</div>
    				</li>

     

    가입할때 나타나는 주소는 워드프레스 가입시 사용되는 기본 필드 (woocommerce address -> wp-member tool로 설정) 기준으로 저장되던데요.

    위에 입력란에서 입력할때 기존 방식과 동일하게 주소 선택을 하면 주소검색하고 선택할 수 있도록 구성을 만들 수 있으면 좋을것 같습니다. 그리고 회원가입시 저장했던 주소 값을 입력 값에 기본으로 불러오도혹 하고 싶습니다.

     

    커스터마이징하는 부분을 확인했는데, 연동 여부가 ㅈ

  • 안녕하세요~^^

    PHP 코드는 어떤 코드를 추가하셨는지요?

    에디터의 코드 스니펫 삽입 기능으로 올려주시겠어요?

    회원가입 페이지에서 표시하는 주소 필드의 설정도 알려주시면

    도움 드릴 방법을 찾아보겠습니다.

    고맙습니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기

AI 상담