wPHP - wordpress, woocommerce - kodowanie bez wtyczek
WordPress - zakoduj to sam w PHP

Kolumna z produktami w widoku zamówień

Grzegorz Chodacki21 marca 2018dla admina, woocommerce

Woocommerce w wersji powyżej 3.0 zmodyfikowano sposób wyświetlania zamówień. Zniknęła z ogólnego widoku kolumna pokazująca ilość zamówionych produktów, która dla większości osób obsługujących sklep była bardzo przydatną informacją. W dość prosty sposób możemy przywrócić ten stan rzeczy. Wykorzystamy do tego filtr ‘manage_edit-shop_order_columns’ oraz akcję ‘manage_shop_order_posts_custom_column’.
Najpierw zrobimy sobie miejsce w tabeli zamówień czyli stworzymy dodatkową kolumnę:

add_filter('manage_edit-shop_order_columns', 'kolumna_zamowionych_produktow');
function kolumna_zamowionych_produktow($columns)
{
 $tablica_kolumn = array();
 foreach ($columns as $key => $title) {
 if ($key == 'billing_address') {
 $tablica_kolumn['order_items'] = 'Produkty';
 }
 $tablica_kolumn[$key] = $title;
 }
 return $tablica_kolumn;
}

Teraz musimy wstawić w komórki naszej nowej kolumny interesującą nas zawartość:

add_action('manage_shop_order_posts_custom_column', 'wc_shop_custom_column', 10, 2);

function wc_shop_custom_column($column)
{
 global $post, $woocommerce, $the_order;
 switch ($column) {

 case 'order_items':
 $terms = $the_order->get_items();

 echo '<a href="#" class="show_order_items">' . apply_filters( 'woocommerce_admin_order_item_count', sprintf( _n( '%d item', '%d items', $the_order->get_item_count(), 'woocommerce' ), $the_order->get_item_count() ), $the_order ) . '</a>';

 if ( sizeof( $the_order->get_items() ) > 0 ) {

 echo '<table class="order_items" cellspacing="0">';

 foreach ( $the_order->get_items() as $item ) {
 $product = apply_filters( 'woocommerce_order_item_product', $item->get_product(), $item );
 $item_meta = (WC()->version < '3.1.0') ? new WC_Order_Item_Meta($item) : new WC_Order_Item_Product; 
 $item_meta_html = (WC()->version < '3.1.0') ? $item_meta->display(true, true) : $item_meta->get_product();
 //$item_meta = new WC_Order_Item_Meta( $item, $product );
 //$item_meta_html = $item_meta->display( true, true );
 ?>
 <tr class="<?php echo apply_filters( 'woocommerce_admin_order_item_class', '', $item, $the_order ); ?>">
 <td class="qty"><?php echo esc_html( $item->get_quantity() ); ?></td>
 <td class="name">
 <?php if ( $product ) : ?>
 <?php echo ( wc_product_sku_enabled() && $product->get_sku() ) ? $product->get_sku() . ' - ' : ''; ?><a href="<?php echo get_edit_post_link( $product->get_id() ); ?>"><?php echo apply_filters( 'woocommerce_order_item_name', $item->get_name(), $item, false ); ?></a>
 <?php else : ?>
 <?php echo apply_filters( 'woocommerce_order_item_name', $item->get_name(), $item, false ); ?>
 <?php endif; ?>
 <?php if ( ! empty( $item_meta_html ) ) : ?>
 <?php echo wc_help_tip( $item_meta_html ); ?>
 <?php endif; ?>
 </td>
 </tr>
 <?php
 }
 echo '</table>';
 } else echo '&ndash;';
 break;
 }
}
Zoptymalizowane menu wordpressa – przerabiamy klasę Walker_Nav_Menu Do darmowej wysyłki brakuje Ci…

Related Posts

layout, woocommerce

Wyszukiwanie postów tylko po tytułach

Temat wydawał się dość prosty, a jednak zajął mi trochę czasu. Wujek Google wcale nie jest tak łaskawy w odpowiedzi na pytanie co zrobić aby wyniki wyszukiwania w wordpress obejmowały jedynie szukanie po tytułach postów (produktów) a nie po całej treści (opisie).

optymalizacja, woocommerce

Jak przyspieszyć stronę wyłączając odświeżanie koszyka woocoomerce

Bardzo często zdarza się, że nasza strona z woocommerce działa wolno. Narzędzia do testowania prędkości typu GTMetrix, często pokazują, że wpływ na prędkość ładowania strony może mieć skrypt wc-ajax=get_refreshed_fragments. Generuje on opóźnienia i obciążenie serwera. Do czego jest on potrzebny, czy jest potrzebny i jak go wyłączyć?

layout, woocommerce

Dodanie niestandardowych pól do produktu WooCoomerce

Zagadnienie dotyczy innego podejścia niż przy poprzednim wpisie. Poprzednio dla produktów prostych i produktów z wariantami wyliczana była cena za 1m2 na podstawie wymiarów produktu po czym wyświetlana na karcie produktu. Tym razem dodamy dodatkowe pola od strony zaplecza, tj. cenę (pole input) oraz jednostkę (pole wyboru select). Trudność polega na tym, że w zależności […]

Ostatnie wpisy

  • Jak wyłączyć odzyskiwanie hasła
  • Pobieranie aktualnego kursu walut przez API NBP
  • Poczta interia – nie dochodzą maile
  • Wyszukiwanie postów tylko po tytułach
  • Related product – produkty podobne w woocommerce

Najnowsze komentarze

    Archiwa

    • wrzesień 2022
    • lipiec 2022
    • kwiecień 2022
    • marzec 2022
    • październik 2021
    • wrzesień 2021
    • kwiecień 2021
    • marzec 2021
    • grudzień 2020
    • lipiec 2020
    • marzec 2020
    • luty 2020
    • styczeń 2020
    • maj 2019
    • luty 2019
    • listopad 2018
    • sierpień 2018
    • czerwiec 2018
    • maj 2018
    • marzec 2018
    • luty 2018
    • styczeń 2018

    Kategorie

    • dla admina
    • layout
    • optymalizacja
    • woocommerce

    Meta

    • Zaloguj się
    • Kanał wpisów
    • Kanał komentarzy
    • WordPress.org
    Strony na Wordpress - uKONTENTowani.pl
    TO NIE JEST STRONA DLA INSTALATORÓW WTYCZEK