divi 테마페이지에 html table 을 만들어 놨는데 phpadmin을 통해서 db table을 만들어서 그곳에 자료를 넣고 그것을 출력하려고 하는데
그러면 어디에 table을 만들고 어떤식으로 해야 출력할 수 있을까요..
그리고 혹시 그 테이블에 유료회원만 권한이 있도록 하려면 어떻게 해야할까요
안녕하세요~^^
워드프레스 사이트에서 DB에 데이터를 넣고 화면에 결과를 표시하시려면
워드프레스 숏코드와 $wpdb를 사용해보시겠어요?
워드프레스 페이지에 어떠한 내용을 출력하고 싶으시다면,
숏코드에 대해서 알아보시면 도움이 됩니다.
https://codex.wordpress.org/Shortcode_API
아래와 같은 코드를 작성했다면 [my_db_print] 숏코드를 사용할 수 있습니다.
add_shortcode('my_db_print', 'my_db_print_functoin');
function my_db_print_functoin($atts=array()){
ob_start();
// 이쪽에 원하는 내용을 출력하세요.
echo '이쪽에 원하는 내용을 출력하세요.';
return ob_get_clean();
}
워드프레스에서 DB에서 데이터를 가져오거나 입력하려면 $wpdb를 사용하시면 됩니다.
https://codex.wordpress.org/Class_Reference/wpdb
add_shortcode('my_db_print', 'my_db_print_functoin');
function my_db_print_functoin($atts=array()){
global $wpdb;
ob_start();
// $wpdb->get_results()를 사용하면 DB에서 여러줄 데이터를 가져올 수 있습니다.
$results = $wpdb->get_results("SELECT~");
print_r($results);
return ob_get_clean();
}
워드프레스는 역할과 권한이 나눠져 있습니다.
자세한 설명은 아래 링크를 참고해주세요.
https://codex.wordpress.org/Roles_and_Capabilities
워드프레스 역할을 더 늘리고 역할들의 권한도 편집할 수 있습니다.
관련된 여러 플러그인이 있지만 대표적인 플러그인으로 User Role Editor 플러그인이 있습니다.
https://ko.wordpress.org/plugins/user-role-editor/
현재 로그인한 사용자의 권한을 체크하는 방법은
아래의 링크를 참고해보시면 도움이 되실 듯합니다.
https://wordpress.stackexchange.com/questions/5047/how-to-check-if-a-user-is-in-a-specific-role
고맙습니다.
혹시 WP DB를 통해서 TABLE 정보를 가져올때 제가 원하는 페이지에 있는 HTML TABLE에 나올수 있도록 하려고 하는데 그 방법 또한 궁금합니다.
그리고 회원 권한을 정하면 페이지 말고도 검색창이나 TABLE에 있는 정보에 접근도 유료회원 무료회원 별로 나눌 수 있는지 궁금합니다.
표시하려는 데이터의 형태에 따라서 코드가 다릅니다.
HTML Table에 대한 설명과 예제 코드는 아래의 링크를 참고해보세요.
https://www.w3schools.com/html/html_tables.asp
PHP 코드의 반복문으로 테이블 행을 반복적으로 표시하는 건
아래의 링크를 참고해보세요.
https://stackoverflow.com/questions/4746079/how-to-create-a-html-table-from-a-php-array
워드프레스에서는 역할(Role)에 따라 회원 등급을 구분하실 수 있습니다.
현재 접속한 사용자의 역할을 체크하는 건 이전 댓글에 안내해드린 링크를 참고해보시겠어요?
고맙습니다.
그러면
add_shortcode('my_db_print', 'my_db_print_functoin');
function my_db_print_functoin($atts=array()){
global $wpdb; ob_start();
// $wpdb->get_results()를 사용하면 DB에서 여러줄 데이터를 가져올 수 있습니다.
$results = $wpdb->get_results("SELECT~"); print_r($results); return ob_get_clean(); }
설명해주셨던 이코드는 theme 에 있는 function.php에 넣으면되는 건가요?
안녕하세요.
해당 코드는 테마 쪽 functions.php 파일에 추가해주시면 됩니다.
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에 추가해보시겠어요?
코드를 그대로 적용하시면 정상적으로 동작하지 않습니다.
쿼리문을 데이터베이스에서 불러오려는 값에 맞게 코드를 수정해주셔야 합니다.
고맙습니다.
안녕하세요.
$results 변수에 데이터를 가져온 후
HTML 테이블에 표시하시려면
아래의 코드를 활용해보시겠어요?
<table>
<tr>
<th>ID</th>
<th>stock_name</th>
<th>purchase_date</th>
<th>purchase_price</th>
<th>target_price</th>
<th>sell_price</th>
<th>final_date</th>
</tr>
<?php foreach($results as $item):?>
<tr>
<th><?php echo $item->ID?></th>
<th><?php echo $item->stock_name?></th>
<th><?php echo $item->purchase_date?></th>
<th><?php echo $item->purchase_price?></th>
<th><?php echo $item->target_price?></th>
<th><?php echo $item->sell_price?></th>
<th><?php echo $item->final_date?></th>
</tr>
<?php endforeach?>
</table>
고맙습니다.