저희가 회원가입을 위해 추천인 코드를 사용하고 있는데,
추천인 링크를 타고 들어오면, 회원가입 폼 해당필드에 자동으로 작성되고,
잠겨지는 방법을 어떻게 해야하는지요
또한
전에 회원정보 수정중에 수정하면 안되는 부분을
functions.php 파일에 선언하라고
하였는데,
function my_register_form_rows($row, $toggle){
if($toggle == 'edit'){
$row['mshop_recommender']['field_before'] = '<div class="mshop_recommender_readonly">';
$row['mshop_recommender']['field_after'] = '</div>';
}
return $row;
}
이렇게 선언을 했는데도 계속 적으로 홈페이지가 오류가 나서 전에 작업했던 부분으로 되돌려 집니다.
이부분도 한번 확인 부탁드립니다
add_filter('wpmem_register_form_rows', 'add_all_checkbox_checked_script', 10, 2);
function add_all_checkbox_checked_script($rows, $toggle){
?>
<script>
jQuery(document).ready(function(){
jQuery('input[name=all_checkbox_checked]').change(function(){
var form = jQuery(this).closest('form');
if(jQuery(this).prop('checked')){
jQuery('input[type=checkbox]').prop('checked', true);
}
else{
jQuery('input[type=checkbox]').prop('checked', false);
}
});
});
</script>
<?php
return $rows;
}
현재 선언되어있는 저희 작업 입니다.
안녕하세요~^^
링크에서 추천인은 받아 오시는지요?
아래의 코드를 활용해보시겠어요?
add_filter('wpmem_register_form_rows', 'add_all_checkbox_checked_script', 10, 2);
function add_all_checkbox_checked_script($rows, $toggle){
$rows['메타키']['field'] = '<input name="메타키" type="text" id="메타키" value="추천인" class="textbox" readonly="readonly">';
return $rows;
}
위 코드에서 메타키 부분을 실제 사용 중인 필드의 Meta Key 값으로 변경해보세요.
추천인 부분도 링크에서 받아온 값으로 넣어주시면 됩니다.
PHP에서 링크의 값은 $_GET을 이용하여 가져올 수 있습니다.
아래의 링크를 참고해보시겠어요?
http://php.net/manual/kr/language.variables.external.php
고맙습니다.
네 추천인 링크 받아오는 부분은 참고 하겠습니다.
다만 저희 회원정보 수정부분 readonly로 바꾸고 싶은데
자꾸 바꾸면 펑션 오류가 나며, 그전 작업한 상태로 돌아갑니다
전에 알려주신대로
add_filter('wpmem_register_form_rows', 'my_register_form_rows', 10, 2);
function my_register_form_rows($row, $toggle){
if($toggle == 'edit'){
$row['mshop_recommender']['field_before'] = '<div class="mshop_recommender_readonly">';
$row['mshop_recommender']['field_after'] = '</div>';
}
return $row;
}
이걸 추가로 삽입했을 경우 홈페이지에 오류가 발생합니다.
회원정보수정에서 저걸 readonly로 바꾸고 싶습니다 ㅠㅠ
$row['mshop_recommender']['field_before']
$row['mshop_recommender']['field_after'] 이쪽 태그 말고,
$rows['mshop_recommender']['field'] 쪽의 태그를 확인 후 수정해주셔야 할 듯합니다.
무슨 말인지 모르겠습니다 ㅠㅠ
add_filter('wpmem_register_form_rows', 'my_register_form_rows', 10, 2);
function my_register_form_rows($row, $toggle){
if($toggle == 'edit'){
$row['mshop_recommender']['field_before'] = '<div class="mshop_recommender_readonly">';
$row['mshop_recommender']['field_after'] = '</div>';
}
return $row;
}
이부분을
add_filter('wpmem_register_form_rows', 'my_register_form_rows', 10, 2);
function my_register_form_rows($row, $toggle){
if($toggle == 'edit'){
$row['mshop_recommender']['field'] = '<div class="mshop_recommender_readonly">';
}
return $row;
}
이렇게 변경 하라는 건가요 ??
변경을 해도 해당 위에 코드는 무조건 http error 500이 납니다.
명령 자체가 문제가 있는거 같습니다
저희는 어떤 필드가 TP 코디 필드인지 알 수 없습니다.
mshop_recommender 필드라고 코드를 올려주셔서 조언을 드린 것입니다.
그리고 500 에러가 난 건 다른 이유라고 생각됩니다.
코드를 추가하거나 변경할 땐 반드시 디버그 모드를 활성화해서 에러 내용을 확인해보시길 바랍니다.
에러 내용을 모르면 저희도 조언을 드리기가 매우 어렵습니다.
아래 코드를 추가해보시겠어요?
(동일한 함수가 있다면 에러가 발생하기 때문에 함수 이름을 바꿔봤습니다.)
add_filter('wpmem_register_form_rows', 'my_register_form_rows_recommender', 10, 2);
function my_register_form_rows_recommender($row, $toggle){
$row['mshop_recommender']['field'] = '<div class="mshop_recommender_readonly">';
return $row;
}
그런데 mshop_recommender 필드가 맞아도 위 코드를 넣으면 필드가 안 나올 겁니다.
실제 $row['mshop_recommender']['field'] 값을 출력해서 원래의 태그를 수정해서 다시 대입해주셔야 합니다.
parint_r() 함수를 사용해서 값을 출력할 수 있습니다.
print_r($row['mshop_recommender']['field']);
플러그인 제작자에게 문의 해보시는것도 좋을 듯합니다.
WP-Members 플러그인과 연동을 요청해보세요~
고맙습니다.