안녕하세요.
워드프레스 테마의 functions.php 파일을 수정하려고 하는데요,
이런 식으로도 사용 가능한가요?
function googlemap(){
echo '
<table>
<tr>
<td>
어쩌구 저쩌구...
</td>
</tr>
</table>
<script>
function blahblah() {
var value1 = 어쩌구저쩌구;
var value2 = 어쩌구저쩌구;
}
</script>
<script src="https://googleapis.com/maps/..."></script>';
}
function custom_checkout_form($fields) {
$fields[‘billing’][‘billing_first_name’];
$fields[‘billing’][‘billing_last_name’];
add_action(‘custom_checkout_form’, ‘googlemap’); //function안에 function을 삽입
return $fields;
}
add filter(‘woocommerce_checkout_fields’, ‘custom_checkout_form’);
위 코드와 같은 방식으로 function 안에 add_action을 사용해서 function을 삽입하는 코드인데요
이런 식으로도 동작할 수 있는지 궁금합니다.
그리고 추가적으로 위의 googlemap() function의 자바스크립트에서 값을 리턴 받아서 다른 function에서 그 값을 사용할 수 있는지도 궁금합니다.
현문현답에 저도 많이 배우게 됩니다^^
감사합니다. 많은 도움이 되었습니다 ^^
안녕하세요~^^
우선 먼저 말씀드리자면 큰따옴표(")와 작은따옴표(')를 정확히 사용해주셔야 합니다.
안 그럼 알 수 없는 에러를 만나실 겁니다.
본문에는 다른 특수문자(’)를 사용해주셨습니다.
아마도 에러 날 겁니다.
본론으로 돌아와서 말씀드리자면
function 안에 add_action 함수를 사용하는 건 전혀 문제 될 게 없습니다.
워드프레스의 이런저런 소스코드를 확인해보시면 action 과 filter 가 여기저기 섞여있는 것을 보실 수 있습니다.
어디에 있는지는 크게 중요하지 않습니다.
에러가 발생하지 않는다면 전부 문제가 없는 겁니다~^^
마지막으로
php에서 자바스크립트 값을 리턴 받을 수는 없습니다.
코드 실행 순서가 서로 다르기 때문입니다.
php는 서버에서 실행되고 실행된 결과가 브라우저로 전송되어 출력됩니다.
그다음 브라우저에서는 자바스크립트 코드를 실행하기 때문에,
전혀 아무런 관련성이 없으며 리턴이나 값을 서로 넘겨주고받는 건 안됩니다.
뭔가 상호 작용이 필요하시다면 ajax 기술을 알아보시길 추천드립니다.
또한 POST와 GET 등 방식으로 데이터를 넘겨주고받을 수는 있습니다.
좀 전문적인 내용이라 이만 줄이겠습니다 ㅎㅎ
코드를 추가해주실 땐 에디터에서 코드 스니펫 삽입 기능을 사용해주시길 부탁드립니다.
고맙습니다.