web-dev-qa-db-ja.com

ワードプレスデータベースのカスタムテーブルのデータを表示する方法

Wordpressデータベース内で作成したカスタムテーブルからデータを取得し、投稿のようにWordpressページに表示します。

前もって感謝します

1
Rasha

これがデータを取得して表示するサンプルコードです。

global $wpdb;
// this adds the prefix which is set by the user upon instillation of wordpress
$table_name = $wpdb->prefix . "your_table_name";
// this will get the data from your table
$retrieve_data = $wpdb->get_results( "SELECT * FROM $table_name" );
?>
<ul>
foreach ($retrieve_data as $retrieved_data){ ?>
<li><?php echo $retrieved_data->column_name;?></li>
<li><?php echo $retrieved_data->another_column_name;?></li>
<li><?php echo $retrieved_data->as_many_columns_as_you_have;?></li>
<?php 
}
?>
</ul>
<?php

変数や関数には固有の名前を使用することをお勧めします。そのため、すべての変数や関数に固有の接頭辞を追加することをお勧めします。 )

リファレンス - wpdb - codex

6
Kirill Fuchs

Wordpressでデータベースからすべてのレコードを表示するためにこのコードを試してください。これのために最初にあなたの選択されたwordpressフォルダーの中にfile.phpを作成しそしてそれからテンプレートとしてこのファイルを使う必要があります。そして、このコードは完璧に動作します。ありがとうございました。

<?php /* Template Name: your template name */ ?>
<?php get_header(); ?>
<table border="1">
    <tr>
     <th>ID</th>
     <th>FULL NAME</th>
     <th>BRANCH NAME</th>
     <th>E-MAIL ID</th>
     <th>Mobile Number</th>
     <th>Course</th>
     <th>Address</th>
     <th>City</th>
     <th>Zip Code</th>
    </tr>

      <?php

        global $wpdb;
        $result = $wpdb->get_results( "SELECT * FROM wp_example");
        foreach ( $result as $print )   { ?>
          <tr>
                  <td>  <?php echo $print->id; ?> </td>
                  <td><?php echo $print->firstname; ?> </td>
                  <td> <?php echo $print->branch ; ?> </td>
                  <td> <?php echo $print->email; ?> </td>
                  <td><?php echo $print->mobile; ?> </td>
                  <td> <?php echo $print->course; ?> </td>
                  <td> <?php echo $print->address; ?> </td>
                  <td><?php echo $print->city; ?> </td>
                  <td> <?php echo $print->Zip ; ?> </td>
          </tr>
            <?php }
      ?>

</table>
<?php get_header(); ?>
1
ABHISHEK GUPTA

$wpdbを探しているようですね。あなたはあなた自身のすべての関数などを書く必要があるでしょう。読みやすくするために、また一貫性を保つために、確立された命名規則(the_blahget_blahのようなもの、場合によっては接頭辞を付ける)を厳守することを強くお勧めします。

0
mor7ifer

@Kirill Fuchsの回答の修正このコードをショートコードで使用すると、問題が発生する可能性があります。出力が間違った順序で表示されることがあります。エコーを避けるために私はreturnを使っていました。このようにショートコードでこれをすることを試みなさい:

add_shortcode('custom_db', function(){
global $wpdb;
$table_name = $wpdb->prefix . 'liveshoutbox';
// this will get the data from your table
$retrieve_data = $wpdb->get_results( "SELECT * FROM $table_name" );
foreach ($retrieve_data as $retrieved_data){ 
    $f_name = $retrieved_data->column_name;
    $f_text = $retrieved_data->another_column_name;
}
    $output = '<div class="wrap">
                    <h2>Table of clients.</h2>
                    <table>
                      <tr>
                        <th>First Name</th>
                        <th>Last Name</th>
                        <th>Email</th>
                      </tr> 
                      <tr>
                        <td>'. $f_name .'</td>
                        <td>'. $f_text .'</td>
                      </tr>
                    </table>            
                </div>';
    return $output;
} );
0
Motahar Hossain