그누커머스 게시판 폼 이용하기? 채택완료
그누그누1
9년 전
조회 5,628
안녕하세요
게시판 에 폼을 추가 하고 싶습니다.
ex)
1. 지역 [서울|부산|...] 셀렉트 박스
2. 나이 [20대|30대|...] 셀렉트 박스
3. 요청사항 [자유롭게] 텍스트박스
4. 하고싶은말 [자유롭게]
.....
이렇게 작성해서 글쓰기 누르면
위 정보들이 글 내용을 볼때 다 나오게 하고 싶습니다.
예전에 질문드린
meta_table을 이용해야 하는것 같은데
</p><p>add_action('write_update_metadata', 'write_custom_meta_hook', 10, 2); //글을 쓰거나 글을 수정할때 쓰는 hook </p><p>
function write_custom_meta_hook($wr_id, $w){
if( $w == '' ){ //글 입력
} else if ($w == 'u') { //글 수정
}</p><p>
//메타데이터
$etc_array = array();</p><p>
$input_posts = array(
'wr_1', //여분필드1
'wr_2', //여분필드2
'wr_3', //여분필드3
'wr_4', //여분필드4
'wr_5', //여분필드5
'wr_6', //여분필드6
'wr_7', //여분필드7
'wr_8', //여분필드8
);</p><p>
foreach( $input_posts as $p ){
$etc_array[$p] = isset($_POST[$p]) ? sanitize_text_field($_POST[$p]) : '';
}</p><p>
update_metadata( GCBOARD_META_TYPE, $wr_id, 'etc_inputs', $etc_array ); //메타데이터를 업데이트
}
여기서 wr_1 2 3 이런 여분필드를 어떻게 사용하는지 잘 모르겠습니다. ㅜㅜ
현재 write.skin.php 에
</p><p><td>항목이름</td>
<td><input type='text' name='wr_1' itemname="항목이름" value='<?=$write["wr_1"]?>' > </td></p><p>
를 넣고
view.skin.php 에
</p><p><div><?=<b><span style="color: rgb(255, 0, 0);">$view[wr_1]</span></b>?></div></p><p>
를 넣으니 '항목이름'이라는 필드가 생기긴 하는데요 글 작성시 '항목이름'이라는 필드에 넣은 내용이 글볼때는 나오지 않네요 이렇게 하는게 맞는는건지 잘 모르겠습니다
도움 부탁드립니다.
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
9년 전
write.skin.php 에서는
</p><p>//메타 데이터 초기화</p><p>$input_posts = array(</p><p>'wr_1' => '', //여분필드1</p><p>'wr_2' => '', //여분필드2</p><p>'wr_3' => '', //여분필드3 </p><p>'wr_4' => '', //여분필드4 </p><p>'wr_5' => '', //여분필드5 </p><p>'wr_6' => '', //여분필드6 </p><p>'wr_7' => '', //여분필드7 </p><p>'wr_8' => '', //여분필드8 </p><p>);</p><p> </p><p>$input_posts = wp_parse_args(get_metadata(GCBOARD_META_TYPE, $wr_id, 'etc_inputs', true ), $input_posts);</p><p> </p><p><td>항목이름</td></p><p> <td><input type='text' name='wr_1' itemname="항목이름" value="<?php echo $input_posts['wr_1']?>" > </td></p><p> </p><p>
이렇게 가져오고
view.skin.php 에서는
</p><p style="font-size: 14.6667px;">//메타 데이터 초기화</p><p style="font-size: 14.6667px;">$input_posts = array(</p><p style="font-size: 14.6667px;">'wr_1' => '', //여분필드1</p><p style="font-size: 14.6667px;">'wr_2' => '', //여분필드2</p><p style="font-size: 14.6667px;">'wr_3' => '', //여분필드3 </p><p style="font-size: 14.6667px;">'wr_4' => '', //여분필드4 </p><p style="font-size: 14.6667px;">'wr_5' => '', //여분필드5 </p><p style="font-size: 14.6667px;">'wr_6' => '', //여분필드6 </p><p style="font-size: 14.6667px;">'wr_7' => '', //여분필드7 </p><p style="font-size: 14.6667px;">'wr_8' => '', //여분필드8 </p><p style="font-size: 14.6667px;">);</p><p style="font-size: 14.6667px;"> </p><p style="font-size: 14.6667px;">$input_posts = wp_parse_args(get_metadata(GCBOARD_META_TYPE, $wr_id, 'etc_inputs', true ), $input_posts);</p><p style="font-size: 14.6667px;"> </p><p><span style="font-size: 14.6667px; line-height: 22px;"><div><?php echo $input_posts['wr_1']?></div></span> </p><p style="font-size: 14.6667px;"> </p><p style="font-size: 14.6667px;">
이렇게 가져오면 됩니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 5개
�
그누그누1
9년 전
t
thisgun
9년 전
write.skin.php 에서는 그렇게 하는게 맞습니다.
list.skin.php 에서는 그렇게 하면 안됩니다.
아래 게시물을 참고해 주세요.
http://sir.kr/qa/110887?stx=metadata&sst=wr_num&unanswered=0&s_tag=%EA%B7%B8%EB%88%84%EC%BB%A4%EB%A8%B8%EC%8A%A4
list.skin.php 에서는 그렇게 하면 안됩니다.
아래 게시물을 참고해 주세요.
http://sir.kr/qa/110887?stx=metadata&sst=wr_num&unanswered=0&s_tag=%EA%B7%B8%EB%88%84%EC%BB%A4%EB%A8%B8%EC%8A%A4
�
그누그누1
9년 전
감사합니다.
그런데 list.skin.php 는 글 목록을 볼때 사용하는 건가요?
저는 본문 내용에서 보기를 원하는데 그럼
[code]
//메타 데이터 초기화
$input_posts = array(
'wr_1' => '', //여분필드1
'wr_2' => '', //여분필드2
'wr_3' => '', //여분필드3
'wr_4' => '', //여분필드4
'wr_5' => '', //여분필드5
'wr_6' => '', //여분필드6
'wr_7' => '', //여분필드7
'wr_8' => '', //여분필드8
);
$input_posts = wp_parse_args(get_metadata(GCBOARD_META_TYPE, $wr_id, 'etc_inputs', true ), $input_posts);
<div><?php echo $input_posts['wr_1']?></div>
[/code]
는 view.skin.php에 넣어줘야 하나요?
148번째줄에 아래처럼 넣어봤는데 안되네요
[code]
<!-- 본문 내용 시작 { -->
<div id="bo_v_con"><?php echo $view['wr_1'] ?><?php echo gc_get_view_thumbnail($view['content'], $board['bo_image_width']); ?></div>
[/code]
그런데 list.skin.php 는 글 목록을 볼때 사용하는 건가요?
저는 본문 내용에서 보기를 원하는데 그럼
[code]
//메타 데이터 초기화
$input_posts = array(
'wr_1' => '', //여분필드1
'wr_2' => '', //여분필드2
'wr_3' => '', //여분필드3
'wr_4' => '', //여분필드4
'wr_5' => '', //여분필드5
'wr_6' => '', //여분필드6
'wr_7' => '', //여분필드7
'wr_8' => '', //여분필드8
);
$input_posts = wp_parse_args(get_metadata(GCBOARD_META_TYPE, $wr_id, 'etc_inputs', true ), $input_posts);
<div><?php echo $input_posts['wr_1']?></div>
[/code]
는 view.skin.php에 넣어줘야 하나요?
148번째줄에 아래처럼 넣어봤는데 안되네요
[code]
<!-- 본문 내용 시작 { -->
<div id="bo_v_con"><?php echo $view['wr_1'] ?><?php echo gc_get_view_thumbnail($view['content'], $board['bo_image_width']); ?></div>
[/code]
t
thisgun
9년 전
네 view.skin.php 는 그렇게 하는게 맞습니다
�
그누그누1
9년 전
감사합니다^^
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
처음부분에
[code]
<?php
if (!defined('ABSPATH')) exit; // 개별 페이지 접근 불가
//메타 데이터 초기화
$input_posts = array(
'wr_1' => '', //여분필드1
'wr_2' => '', //여분필드2
'wr_3' => '', //여분필드3
'wr_4' => '', //여분필드4
'wr_5' => '', //여분필드5
'wr_6' => '', //여분필드6
'wr_7' => '', //여분필드7
'wr_8' => '', //여분필드8
);
$input_posts = wp_parse_args(get_metadata(GCBOARD_META_TYPE, $wr_id, 'etc_inputs', true ), $input_posts);
//여기까지넣었습니다
if($board['bo_use_tag']) //게시판 설정에서 태그 기능을 사용한다면
[/code]
120번째줄쯤
[code]
<tr>
<td>항목이름</td>
<td><input type='text' name='wr_1' itemname="항목이름" value="<?php echo $input_posts['wr_1']?>" > </td>
//여기까지 넣었습니다
<tr>
<td class="wr_content" colspan="2">
<label for="wr_content" class="block_label"><strong><?php _e('내용', GC_NAME);?></strong><strong class="sound_only"><?php _e('필수', GC_NAME);?></strong></label>
<?php if($write_min || $write_max) { ?>
<!-- 최소/최대 글자 수 사용 시 -->
[/code]
이렇게 넣고
list.skin.php에는
[code]
<?php
if (!defined('ABSPATH')) exit; // 개별 페이지 접근 불가
//메타 데이터 초기화
$input_posts = array(
'wr_1' => '', //여분필드1
'wr_2' => '', //여분필드2
'wr_3' => '', //여분필드3
'wr_4' => '', //여분필드4
'wr_5' => '', //여분필드5
'wr_6' => '', //여분필드6
'wr_7' => '', //여분필드7
'wr_8' => '', //여분필드8
);
$input_posts = wp_parse_args(get_metadata(GCBOARD_META_TYPE, $wr_id, 'etc_inputs', true ), $input_posts);
// 선택옵션으로 인해 셀합치기가 가변적으로 변함
$colspan = 5;
[/code]
80번째줄쯤
[code]
<!-- } 게시판 페이지 정보 및 버튼 끝 -->
<form name="fboardlist" id="fboardlist" action="<?php echo $fboardlist_action_url; ?>" onsubmit="return fboardlist_submit(this);" method="post">
<?php wp_nonce_field( 'gc_list', 'gc_nonce_field' ); ?>
<input type="hidden" name="action" value="">
<input type="hidden" name="board_page_id" value="<?php echo $post->ID?>" >
<input type="hidden" name="bo_table" value="<?php echo esc_attr( $bo_table ); ?>">
<input type="hidden" name="sfl" value="<?php echo esc_attr( $sfl ); ?>">
<input type="hidden" name="stx" value="<?php echo esc_attr( $stx ); ?>">
<input type="hidden" name="spt" value="<?php echo esc_attr( $spt ); ?>">
<input type="hidden" name="sca" value="<?php echo esc_attr( $sca ); ?>">
<input type="hidden" name="page" value="<?php echo esc_attr( $page ); ?>">
<input type="hidden" name="sw" value="">
<div><?php echo $input_posts['wr_1']?></div>
//여기에 넣었습니다.
<?php if( $board['bo_use_tag'] ){ //게시판에서 태그기능을 사용한다면... ?>
[/code]
위처럼 했는데 글을 읽을때 나오지 않네요.
ㅜㅜ