안녕하세요
답변내용처럼 해도 잘 안돼서 다른방법으로 해봤는데도 잘 안되네요.
여분필드 이용해서 게시물 작성, 여분필드 내용을 본문에서 볼수있게 할려고 합니다.
테마 funtions.php에 아래 추가했구요
Copy
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번째줄에
Copy
<?phpif (!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']; ?> 를 넣었습니다.
Copy
<!-- 본문 내용 시작 { --> <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']; // {이미지:0} 과 같은 코드를 사용할 경우 ?> <!-- } 본문 내용 끝 -->
write.skin.php에는
Copy
//메타 데이터 초기화
$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>
를 넣어서 글쓰는 화면에서 '항목이름'이라는 필드는 보이는 상태 입니다.
본문보기에서 여분필드가 표시되지 않고 있습니다.
도움 부탁드립니다....
답변 1개 / 댓글 1개
채택된 답변
+20 포인트
빨간망토의비밀
2016-03-24 (목) 18:53:49
view 페이지에서 여분필드의 값은
<?php echo $view[wr_7] ?>
이렇게 하면 보여집니다. ^^
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.