게시판글 작성자가 그게시판 글 하나 올렸으면 이후에 글을 못올리도록 하고싶은데 이방법 가능한지 궁금합니다.
그글을 삭제해야 다시 작성할수있도록 하고싶습니다.
게시판 스킨의 list.php 파일에 아래 코드를 추가해서 테스트 해보세요.
$board_id 값은 적절히 수정해주셔야 합니다.
그리고 로그인 했을 경우에만 동작됩니다^^
<?php
global $wpdb;
if(is_user_logged_in()){
$board_id = '1';
$member_uid = get_current_user_id();
$count = $wpdb->get_row("SELECT COUNT(*) FROM `{$wpdb->prefix}kboard_board_content` WHERE `board_id`='{$board_id}' AND `member_uid`='{$member_uid}'");
if($count):?>
<p>기존 글을 삭제해야 새글 쓰기가 가능합니다.</p>
<?php else:?>
<a href="<?php echo $url->set('mod', 'editor')->toString()?>" class="kboard-default-button-small"><?php echo __('New', 'kboard')?></a>
<?php
endif;
}
?>
안녕하세요 현재 적용했는데 새로운 사용자로 글을 작성해도
기존 글을 삭제해야 새글 쓰기가 가능합니다가 뜨더라구요 그래서
$count = $wpdb->get_row("SELECT COUNT(*) FROM `{$wpdb->prefix}kboard_board_content` WHERE `board_id`='{$board_id}' AND `member_uid`='{$member_uid}'");
구문에서 $count를 echo로 띄워도 아무것도 안뜨고 이게 숫자식으로 받으면
if($count) 구문을 if($count>0 )으로해서 count가 0보다 크면 기존 글을 삭제해야 새글 쓰기가 가능합니다 라는 식으로 이해했었는데 아니었나보더라구요
<?php
global $wpdb;
if(is_user_logged_in()){
$board_id = '6';
$member_uid = get_current_user_id();
$count = $wpdb->get_row("SELECT COUNT(*) FROM `{$wpdb->prefix}kboard_board_content` WHERE `board_id`='{$board_id}' AND `member_uid`='{$member_uid}'");
if($count):?>
<p>기존 글을 삭제해야 새글 쓰기가 가능합니다.<?php echo $count; ?></p>
<?php else:?>
<a href="<?php echo $url->set('mod', 'editor')->toString()?>" class="kboard-default-button-small"><?php echo __('New', 'kboard')?></a>
<?php
endif;
}
?>
위에 는 $board_id = '1' 을 $board_id = '6'으로 해서 특정 게시판 번호를 알맞게 넣어도 그러한것 같습니다.
띄울려고해도 값이 뜨지않아 안되네요 어떠한 방법이 있을까요?
$count = $wpdb->get_row("SELECT COUNT(*) FROM `{$wpdb->prefix}kboard_board_content` WHERE `board_id`='{$board_id}' AND `member_uid`='{$member_uid}'");
위 코드를 아래처럼 바꿔보시겠어요?
$count = $wpdb->get_var("SELECT COUNT(*) FROM `{$wpdb->prefix}kboard_board_content` WHERE `board_id`='{$board_id}' AND `member_uid`='{$member_uid}'");
팁을 드리자면, 결과값을 print_r($count); 이런식으로 출력해서 확인 해보세요.