그누커머스 여분필드
본문
안녕하세요
답변내용처럼 해도 잘 안돼서 다른방법으로 해봤는데도 잘 안되네요.
여분필드 이용해서 게시물 작성, 여분필드 내용을 본문에서 볼수있게 할려고 합니다.
테마 funtions.php에 아래 추가했구요
add_action('write_update_metadata', 'write_custom_meta_hook', 10, 2); //글을 쓰거나 글을 수정할때 쓰는 hook
function write_custom_meta_hook($wr_id, $w){
if( $w == '' ){ //글 입력
} else if ($w == 'u') { //글 수정
}
//메타데이터
$etc_array = array();
$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
);
foreach( $input_posts as $p ){
$etc_array[$p] = isset($_POST[$p]) ? sanitize_text_field($_POST[$p]) : '';
}
update_metadata( GCBOARD_META_TYPE, $wr_id, 'etc_inputs', $etc_array ); //메타데이터를 업데이트
//에러나서 } 삭제했습니다.
view.skin.php에는
6번째줄에
<?php
if (!defined("ABSPATH")) exit; // 개별 페이지 접근 불가
wp_enqueue_script( $bo_table.'-view-skin-js', $board_skin_url.'/js/view.skin.js' );
?>
<?php
//메타 데이터 초기화
$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);
extract( $input_posts );
echo $wr_1."<br >";
echo $wr_2."<br >";
echo $wr_3."<br >";
echo $wr_4."<br >";
echo $wr_5."<br >";
echo $wr_6."<br >";
echo $wr_7."<br >";
echo $wr_8."<br >";
?>
<!-- 게시물 읽기 시작 { -->
그리고 149번째줄에 <?php echo $input_posts[$i]['wr_1']; ?> 를 넣었습니다.
<!-- 본문 내용 시작 { -->
<div id="bo_v_con"><?php echo $input_posts[$i]['wr_1']; ?><?php echo gc_get_view_thumbnail($view['content'], $board['bo_image_width']); ?></div>
<?php //echo $view['rich_content']; // view_image($view, '0', '') 과 같은 코드를 사용할 경우 ?>
<!-- } 본문 내용 끝 -->
write.skin.php에는
//메타 데이터 초기화
$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);
<td>항목이름</td>
<td><input type='text' name='wr_1' itemname="항목이름" value="<?php echo $input_posts['wr_1']?>" > </td>
를 넣어서 글쓰는 화면에서 '항목이름'이라는 필드는 보이는 상태 입니다.
본문보기에서 여분필드가 표시되지 않고 있습니다.
도움 부탁드립니다....
!-->!-->!-->!-->
답변을 작성하시기 전에 로그인 해주세요.