2016-05-25 12 views
0

2つのフィールドと送信ボタンを使用して自分のサイトにカスタムフォームを作成しました。
は私のフォームを見てみましょう:WordPressカスタムフォームは管理パネルでデータビューを送信しますか?

<div class="control-group"> 
    <label class="control-label" for="name">Name</label> 
    <div class="controls"> 
    <input type="text" name="name" placeholder="Your Name" class="form-control"> 
    </div> 
</div> 
<div class="control-group"> 
    <label class="control-label" for="number">Mobile</label> 
    <div class="controls"> 
    <input type="number" name="number" placeholder="017xxxxxxxx" class="form-control"> 
    </div> 
</div> 
<button type="submit" value="sub" name="sub" class="btn btn-success btn-block btn-sm marTop15">Submit!</button> 

サイト訪問者がフォームを送信すると、私はそれらを個別に削除することができるように、私のWordPressの管理パネルに提出されたデータを表示したいです。

私はこのようにしたい:
my admin panel listing

それでは、どのように私はすべてのプラグインなしでこれを行うことができますか?

+0

を使用する必要がある詳細は、多くのコード、または複数のコンテキストを提供してください。あなたのデータをどこに提出していますか?私はあなたのデータをどこに保管しているのですか?任意のポストタイプまたはカスタムテーブルあなたの管理ページはどうですか、ポストタイプのリストテーブルかカスタムページです。ここでコメントするのではなく、あなたの質問を編集して詳細を提供する方が良いでしょう。 –

+0

私はカスタムテーブルにデータを保存したいのですが、私の管理ページはcustom.Only管理者がadminパネル上で送信されたデータを見ることができます。管理パネル上にメニューを作成し、このメニューでテーブルビューでデータを表示したい。 – Romimitu

+0

[この管理者メニューページ](https://github.com/nanodesigns/download-via-email/blob/master/ed-options.php)は、カスタムループのテーブル構造で行われます。見て、カスタムテーブルにこれを組み込みます。 –

答えて

0

あなたは「WP_List_Table」クラス

<?php 

if(!class_exists('WP_List_Table')) { 

    require_once(ABSPATH . 'wp-admin/includes/class-wp-list-table.php'); 

} 



class TT_Orders_List_Table extends WP_List_Table { 

    function __construct() { 

     parent::__construct(array(

      'singular' => 'ID', 

      'plural' => 'ID', 

      'ajax'  => false 

     )); 

    } 



    function column_default($item, $column_name) { 

     switch($column_name) { 

      case 'user_firstname': 

      case 'user_login': 

      case 'user_email': 

      case 'paid_charge': 

      case 'additional_member': 

      case 'date': 

       return $item->$column_name; 

      default: 

       return print_r($item,true); //Show the whole array for troubleshooting purposes 

     } 

    } 

    function column_user_firstname($item) { 
     $actions = array(
      'delete' => sprintf('<a href="users.php?page=%s&action=delete&id=%s&wp_http_referer=%s">Delete</a>', $_REQUEST['page'], $item->id, 'wp-admin/users.php?page='.$_REQUEST['page']), 
     ); 

     return sprintf('%1$s <span style="color:silver">(ID:%2$s)</span>%3$s', /*$1%s*/ $item->user_firstname, /*$2%s*/ $item->id, /*$3%s*/ $this->row_actions($actions)); 

    } 



    function column_cb($item) { 

     return sprintf('<input type="checkbox" name="%1$s[]" value="%2$s" />', /*$1%s*/ $this->_args['singular'], $item->ID); 

    } 



    function get_columns() { 

     $columns = array(

      'cb'    => '<input type="checkbox" />', 

      'user_firstname' => 'User Name', 

      'user_login'  => 'User ID', 

      'user_email'  => 'Email', 

      'paid_charge'  => 'Payment', 

      'additional_member' => 'Additional Member', 

      'date' => 'Registered Date' 

     ); 

     return $columns; 

    } 



    function get_sortable_columns() { 

     $sortable_columns = array(

      'user_firstname' => array('u.user_firstname',true), 

      'user_login'  => array('uz.user_login',true), 

      'user_email'  => array('uz.user_email',false), 

      'paid_charge'  => array('ui.paid_charge',false), 

      'additional_member' => array('ui.additional_member',false), 

      'date'    => array('ui.date',false) 


     ); 

     return $sortable_columns; 

    } 


    function get_bulk_actions() { 

     $actions = array(

      'delete' => 'Delete' 

     ); 

     return $actions; 

    } 


    function process_bulk_action() { 

     global $wpdb; 

     if('delete'===$this->current_action()) { 

      $id = $_REQUEST['id']; 

      $ids = ''; 

      if(is_array($id)) { 

       foreach($id as $k=>$v) { 

        $ids .= $v . ","; 

       } 

       $ids = substr($ids, 0, -1); 

      } else { 

       $ids = $id; 

      } 



      if($ids != '') { 
       $wpdb->query("DELETE FROM `".$wpdb->prefix."events3` WHERE id IN ($ids)"); 

      } 

     } 

    } 


    function prepare_items() { 

     global $wpdb; 

     $query = " 
      SELECT ui.id, u.user_firstname, ui.paid_charge,ui.date, ui.additional_member, uz.user_email, uz.user_login 
      FROM ".$wpdb->prefix."events3 ui 
      INNER JOIN ".$wpdb->prefix."user_info u 
      ON ui.user_id=u.user_id 
      INNER JOIN ".$wpdb->prefix."users uz ON u.user_id = uz.ID 
      WHERE ui.user_id = u.user_id AND ui.status = 1"; 
        //echo $query; 
        //exit; 
     $orderby = !empty($_GET["orderby"]) ? mysql_real_escape_string($_GET["orderby"]) : 'DESC'; 

     $order = !empty($_GET["order"]) ? mysql_real_escape_string($_GET["order"]) : ''; 

     if(!empty($orderby) & !empty($order)) { $query.=' ORDER BY '.$orderby.' '.$order; } 

     $totalitems = $wpdb->query($query); 

     $perpage = 15; 

     $hidden = array(); 

     $paged = !empty($_GET["paged"]) ? mysql_real_escape_string($_GET["paged"]) : ''; 

     if(empty($paged) || !is_numeric($paged) || $paged<=0) { $paged=1; } 

     $totalpages = ceil($totalitems/$perpage); 

     if(!empty($paged) && !empty($perpage)) { 

      $offset=($paged-1)*$perpage; 

      $query.=' LIMIT '.(int)$offset.','.(int)$perpage; 

     } 



     $this->set_pagination_args(array(

      "total_items" => $totalitems, 

      "total_pages" => $totalpages, 

      "per_page" => $perpage, 

     )); 



     $columns = $this->get_columns(); 

     $sortable = $this->get_sortable_columns(); 

     $this->_column_headers = array($columns, $hidden, $sortable); 



     $this->process_bulk_action(); 

     $this->items = $wpdb->get_results($query); 
     //echo "<pre>"; 
     //print_r($this->items); 
     //exit; 

     if(!empty($this->items)) { 

      $items = array(); 

      foreach($this->items as $item) { 

       if($item->additional_member == "yes") { 

        $item->additional_member = 'Yes'; 

       } else if($item->additional_member == 'no') { 

        $item->additional_member = 'No'; 

       } 

       $paid_charge = explode(".", $item->paid_charge); 

       $item->paid_charge = $paid_charge[0]; 

       $items[] = $item; 

      } 

      $this->items = $items; 
     } 

    } 

} 

$ordersListTable = new TT_Orders_List_Table(); 

$ordersListTable->prepare_items(); 

?> 

<div class="wrap"> 

    <div id="icon-users" class="icon32"><br/></div> 

    <h2>Form Data</h2> 

    <form id="posts-filter" method="get"> 

     <input type="hidden" name="post_type" value="<?php echo $_REQUEST['post_type'] ?>" /> 

     <input type="hidden" name="page" value="<?php echo $_REQUEST['page'] ?>" /> 

     <?php $ordersListTable->display(); ?> 

    </form> 

</div> 
+0

はまた、あなたが 'add_action(「admin_menu」、 'のようfunction.phpにこのコードを追加する必要があり@MayeenulIslam ...私を助けてwordpressの管理者panel.So上でこれらのデータを表示したいですsingle_evening_users3 '); 関数single_evening_users3(){ \t add_submenu_page( 'users.php'、 'シングルイブニング3'、 'シングルイブニング3'、 'manage_options'、 'シングル・夕方ユーザ-listing3'、 'singles_evening_users3_callback')。 } function singles_evening_users3_callback(){ \t require_once "includes/single-evening-users3.php"; } ' –

関連する問題