코스모스팜 스레드

정말 기초적인것 같지만 wpdb를 어디에다가 쓰고 어떻게 다루는건가요?

codex에도 들어가보고 했지만

DB에서 데이터를 불러와서 띄우는게 어디서 입력을 해야하는지 도통 모르겠습니다

예를 들어 codex의 예제에서

<?php
$user_count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->users" );
echo "<p>User count is {$user_count}</p>";
?>

이걸 보면 디비에서 user의 갯수를 가져온다는 쿼리인것을 알겠는데

function.php에다가 쓰면 저것을 어떻게 해서 가져와야하는 것인지

아니면 그냥 페이지에다가 저 코드를 입력하면

User count is 7

이런 식으로 나와야되는 것인지

도통 감이 안 와서 게시판을 수정해보고 싶은데 건드려보지도 못했습니다.

예를 들어 게시판의 글을들 다 가져오는게

숏코드에서 [kboard id=1] 라는 내용이

select * from wp_kboard_board_content where board_id=1 라는 것을 알겠는데

이 쿼리가 어디서 작동이 되는되서 가져오는지 도통 모르겠습니다

좀 정확한 설명과 이해가 필요한데 그냥 맨땅 헤딩식으로 하니깐 어떤 순서대로 작동하는지 모르겠네요

코스모스팜 회원관리
코스모스팜 회원관리
  • 안녕하세요~^^

    워드프레스 액션(Action)과 필터(Filter)에 대해서도 알고 계셔야 할 듯합니다.

    페이지에 새로 추가하시려면 올려주신 코드처럼 적용해주시면 됩니다.

    KBoard 게시판 플러그인에서 게시글 목록을 불러오는 코드는

    FTP로 접속해서 /wp-content/plugins/kboard/class/KBContentList.class.php에

    아래의 코드가 있기 때문에 테마의 functions.php 파일에서

    select절, from절 where절 등을 변경하실 수 있습니다.

    $select = apply_filters('kboard_list_select', "`{$wpdb->prefix}kboard_board_content`.`uid`", $this->board_id, $this);
    $from = apply_filters('kboard_list_from', implode(' ', $this->from), $this->board_id, $this);
    $where = apply_filters('kboard_list_where', implode(' AND ', $this->where), $this->board_id, $this);
    $orderby = apply_filters('kboard_list_orderby', "`{$this->sort}` {$this->order}", $this->board_id, $this);

    실제 DB에서 쿼리를 실행하는 코드는 아래의 코드입니다.

    $results = $wpdb->get_results("SELECT {$select} FROM {$from} WHERE {$where} ORDER BY {$orderby} LIMIT {$offset},{$this->rpp}");

     

    KBoard의 액션과 필터는 아래의 링크를 참고해보시겠어요?

    https://www.cosmosfarm.com/products/kboard/hooks

    고맙습니다.

이미지 사진은 imgur에 업로드한 뒤 링크 걸어주세요.
코스모스팜 회원관리