WordPress переносит данные сеанса со страницы продукта на страницу корзины в пользовательском плагине? - PullRequest
0 голосов
/ 15 сентября 2018

У меня есть страница с указанным товаром. У всех товаров есть кнопка добавления, когда одним щелчком мыши нужно подобрать данные о продукте в массиве сеансов, перенести на страницу корзины и показать на странице корзины, как это делает woocommmerce.

Это по индивидуальному заказу.независимый мини плагин.

мой код и выходные данные приведены ниже.

2 настраиваемая таблица:

wp_productlist

wp_product_category.

В КОММЕНТАРИИ Я ОБЪЯСНЯЮ ВСЕ О КОДЕКСЕ:

  <?php
  global $wpdb;
 $result = $wpdb->get_results ( "SELECT * from wp_product_category  "); //Select all data from wp_product_category which is item_id and category columns.
  //main loop
 foreach ( $result as $print){ // loop the wp_product_category table.
   $cat = $print->item_id; ?> //pick item_id store in $cat variable.
   <button class="collapsible"><?=$print->category?></button>
   //show the category name in accordion through loop. 
 <div class="content">
 <table border="1"> // table is start here.
  <tr>
    <th>Item_ID</th>    
    <th>Item Description</th>   // three columns of table
    <th>Packing Size</th>   
   <th>Cart</th> //Custom column for add to cart button.
  </tr>
  <?php
  $result1 = $wpdb->get_results ( "SELECT * FROM wp_productlist where 
  category_id = $cat "); //Select everthing from wp_productlist tabl where category_id = $cat. (above $cat= item_id).  
   foreach ( $result1 as $print1 )   { //Nested loop to show data under category in tables.

    echo '<tr>';
      echo '<td>'. $print1->item_id.'</td>';
      echo '<td>'. $print1->Item_Description.'</td>';// showing data from wp_productlist
      echo '<td>'. $print1->Packing.'</td>';
     echo '<td> <form method="post"> <input type="submit" name="add" href="$print1->item_id" value="ADD"></form> </td>'; // add to cart button its not taking id to cart page.
    echo '</tr>';  
 }  
  echo '</tr> ';
   ?>            

</table> //table end here
</div>
 <?php } 
    if (isset($_POST['add'])) // when press add to cart button.
     {
       //Store the related row data in session array which is store but the last one row of the table not the one I click. 
        $_SESSION['cart_items'] = array(

            'oid' => $print1->item_id,
            'des' => $print1->Item_Description,
            'pack' =>  $print1->Packing
         ) ;

         $cart_items = ! empty( $_SESSION['cart_items'] ) ? // show data for testing.
         $_SESSION['cart_items'] : false;

         print_r($cart_items);
     }
  ?>

ВНЕШНЯЯ СТРАНИЦА СПИСКА ПРОДУКТОВ

enter image description here

Теперь, когда кто-то нажимает кнопку добавления, я хочу перенаправить со страницы продукта в списке с данными и хочу показать на странице корзины, как это делает woocommerce, но мой плагин не интегрирован с woocommerce и независимПользовательский плагин.

Код страницы корзины ниже на странице корзины, он показывает мне данные сеанса, но последнюю строку в моей таблице я хочу показать строку, просто я нажимаю на кнопку добавления в корзину, как показано выше на выходе

после нажатия кнопки «Добавить в корзину» в таблице она не перенаправляется на страницу корзины. Пожалуйста, перенаправьте ее.

покажите данные, подобные странице корзины woocommerce, с моей строкой таблицы

   <?php
    $cart_items = ! empty( $_SESSION['cart_items'] ) ? // accessing the data in the cart page 
    $_SESSION['cart_items'] : false;
    print_r($cart_items);
     ?> 

Я хочу эти данные в один рядна этой странице корзины, как у woocommerce, дела идут хорошо.

ВНЕ ИЗ КАРТЫ СТРАНИЦЫ, НО Я ПОЛУЧАЮ НЕПРАВИЛЬНЫЕ ДАННЫЕ, Неважно, какой товар какой-то выбранный, он заберет последний элемент в таблице и покажет мнеВ СТРАНИЦЕ КОРЗИНЫ В ОДНОЙ СТРОКЕ НАСТРОЙКИ ДЛЯ УДАЛЕНИЯ ПУНКТА ИЛИ ПРОДОЛЖИТЬ ПРОВЕРИТЬ.

enter image description here

1 Ответ

0 голосов
/ 16 сентября 2018

@ kashalo, этот парень удивительный, дает правильный ответ, но теперь не вижу, потому что я публикую его, чтобы помочь другим людям: *

    <?php
    $result1 = $wpdb->get_results( "SELECT * FROM wp_ORDERlist where category_id 
    = $cat " );
?>
<div class="content">
<table border="1">
<tr>
   <th>Item_ID</th> 
   <th>Item Description</th>    
   <th>Packing Size</th>    
   <th>Cart</th>
 </tr>
   <?php

  foreach ( $result1 as $print1 ) { //Nested loop to show data under category in 
  tables.

   echo "<form method='post'><tr><td><input type='hidden' name='id' 
  value='{$print1->item_id}'>{$print1->item_id}</td>";
  echo "<td><input type='hidden' name='Desc' value='{$print1- 
  >Item_Description}'> 
  {$print1->Item_Description}</td>";
   echo "<td><input type='hidden' name='size' value='{$print1->Packing}'> 
   {$print1- 
   >Packing}</td>";
   echo '<td><input type="submit" name="add" value="ADD"></td> </form></tr>';

     }     
     ?>
 </table> 
  </div>
   <?php

 if ( isset( $_POST['add'] ) ) {


 $data = array(
    'oid'  => $_POST['id'],
    'des'  => $_POST['Desc'],
    'pack' => $_POST['size'],
      );
  $cart_items = ! empty( $_SESSION['cart'] ) ? $_SESSION['cart'] : false;
  if ( ! is_array( $_SESSION['cart'] ) ) { $_SESSION['cart'] = []; }

  array_push( $_SESSION['cart'], $data );

  echo '<pre>';
  print_r( $_SESSION['cart'] );
 }
   }

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...