게시판글을 1회만 작성되도록 하고싶습니다.

게시판글 작성자가 그게시판 글 하나 올렸으면 이후에 글을 못올리도록 하고싶은데 이방법 가능한지 궁금합니다.

그글을 삭제해야 다시 작성할수있도록 하고싶습니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 게시판 스킨의 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); 이런식으로 출력해서 확인 해보세요.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요