Michał Mleczko

Michał Mleczko

Freelancer, programista PHP, front- i back-end developer. Prestashop i Wordpress nie mają dla niego tajemnic. Prywatnie - fan starych samochodów i motocykli, posiadacz CB 250 z 1983 roku.

Sklep internetowy oparty o Woocommerce, pomimo wielu zalet jakimi niewątpliwie jest prostota i łatwość wdrożenia, jest bardzo ograniczony. Już po chwili zdamy sobie sprawę, że rejestrujący się w naszym sklepie klienci nie mają możliwości podania nam swojego NIPu i tym samym wyboru sposobu rozliczenia. Rozwiązanie tego problemu jest proste - wtyczka, dodają pole NIP do sklepu Woocommerce. Jeśli jednak mamy trochę umiejętności programistycznych i nie przeraża nas wizja stworzenia wtyczki do WordPressa - możemy zrobić to sami.

Pierwszym miejscem, w którym pole NIP powinno się pojawić jest formularz potwierdzania zamówienia. Funkcja, która wyświetli potrzebne nam pole wygląda tak:

function woocommerce_nip_checkout_field($checkout)
{
echo '<div id="my_custom_checkout_field">';
woocommerce_form_field('field_nip', array(
'type' => 'text',
'class' => array('my-field-class form-row-first'),
'label' => __('Potrzebujesz faktury?'),
'placeholder' => __('Podaj NIP'),
),
$checkout->get_value('field_nip'));
echo '</div>';
}

Aby jednak wyświetlić ją w odpowiednim miejscu, potrzebujemy dodatkowej linijki kodu:
add_action('woocommerce_before_checkout_billing_form', 'woocommerce_nip_checkout_field');

add_action() odpowiada za dodanie naszej funkcji do odpowiedniego hooka.

Treść naszego pola po zapisaniu musimy jeszcze dodać do bazy danych:

add_action('woocommerce_checkout_update_order_meta', 'woocommerce_nip_checkout_field_update_order_meta');
function woocommerce_nip_checkout_field_update_order_meta($order_id)
{
if($_POST['field_nip']) update_post_meta($order_id, 'Nip', esc_attr($_POST['field_nip']));

Aby jednak zapisana wartość przydała nam się do czegokolwiek - musimy ją jeszcze jakoś odczytać. Dwie kolejne funkcje dodają podaną wcześniej wartość pola NIP do maili wysyłanych przez sklep (pod danymi kupującego) oraz do panelu edycji zamówienia.
add_filter('woocommerce_email_order_meta_keys', 'my_custom_checkout_field_order_meta_keys');
function my_custom_checkout_field_order_meta_keys($keys)
{
$keys[] = 'Nip';
return $keys;
}

add_action('woocommerce_admin_order_data_after_billing_address', 'woocommerce_nip_checkout_field_display_admin_order_meta');
function woocommerce_nip_checkout_field_display_admin_order_meta($post)
{
$key_1_values = get_post_meta($post->id, 'Nip');
if (count($key_1_values))
echo '

NIP:
' . $key_1_values[0] . '

';
}


Gdy zbierzemy wszystkie te funkcje w całość i na początku dodamy informacje, które pozwolą wordpressowi rozpoznać nasz plik jako wtyczkę - otrzymamy pełnoprawny plugin, znacząco rozszerzający funkcjonalność naszej witryny.
 /**
* Plugin Name: WooCommerce NIP
* Plugin URI: http://michalmleczko.waw.pl/
* Description: Do każdego zamówienia dodaje opcjonalne pole NIP
* Version: 1.0
* Author: MM Studio
* Author URI: http://michalmleczko.waw.pl/
* Text Domain: woocommerce-nip
* Domain Path: /lang
*/

Tak utworzony plik woocommerce-nip.php wystarczy umieścić w naszym sklepie internetowym w folderze wp-content\plugins\woocommerce-nip i uruchomić w kokpicie - gotowe!

Oczywiście, możemy tez pobrać i zainstalować gotowy moduł - serdecznie zapraszam!

Wtyczka do sklepu internetowego Prestashop, która pozwala na korzystanie z jednej z wygodniejszych form odbioru przesyłek – paczka dostarczona zostanie do wskazanej placówki pocztowej, a jej adresat powiadomiony SMS-em albo e-mailem o możliwości odbioru. Moduł umożliwia klientom sklepu wybranie najodpowiedniejszej placówki z ponad 4200 dogodnie zlokalizowanych punktów Poczty Polskiej.

Moduł pozwala na:

- powiadomienie klienta mailem o wybranej przez niego placówce pocztowej

- wygodną konfigurację automatycznej aktualizacji bazy danych placówek

- szybkie działanie przy składaniu zamówienia, jednocześnie bez możliwości złożenia zamówienia bez wybrania placówki pocztowej

Wspiera Prestashop w wersji 1.5Wspiera Prestashop w wersji 1.6

Wtyczka dodająca obsługę odbioru w punkcie Poczty Polskiej - PrestashopWtyczka dodająca obsługę odbioru w punkcie Poczty Polskiej - Prestashop  Wtyczka dodająca obsługę odbioru w punkcie Poczty Polskiej - Prestashopodbior_w_punkcie_backorder

koszt - 120zł netto

Wystawiam faktury VAT.

Zapraszam do zakupu modułu w moim sklepie z modułami i motywami do Prestashop i WordPress - MM Market.

 

Wtyczka do Prestashop oraz WordPressa, wyświetlająca ostatnie komentarze z serwisu Allegro.pl w formie slidera, wysuwającego się spoza ekranu. Można go ustawić po prawej lub lewej stronie ekranu.

Obsługuje Prestashop w wersji 1.3, 1.4, 1.5 i 1.6

 

Wspiera Prestashop w wersji 1.6Wspiera Prestashop w wersji 1.5Wspiera Prestashop w wersji 1.4Wspiera Prestashop w wersji 1.3

komentarze-allegro1

Koszt: 50zł.

Zapraszam do zakupu w moim sklepie z modułami i motywami do Prestashop i WordPress - MM Market.

 

Pokazuje na liście wyboru jedynie producentów, których produkty są w danej kategorii. Wykonuje jedno dodatkowe zapytanie do bazy danych. Nie jest kompatybilny z modułem "Blok nakładania filtrów nawigacyjnych".

Wspiera Prestashop w wersji 1.5

manufacturer-filter-for-category-prestashop

Aby wyświetlał się poprawnie, należy dodać odpowiedni kod w ostylowaniu strony:

.selectProductSort, .selectManufacturerSort{
width: 120px;
}

 

Zapraszam do pobierania!

Mam zamiar dzielić się tutaj swoimi rozwiązaniami, dzięki którym praca z WordPressem czy Prestą jest dużo łatwiejsza. Na początek bardzo prosta, mieszcząca się dosłownie w kilku linijkach wtyczka do Prestashop (1.4 - 1.5) kompilująca na bieżąco plik custom.less znajdujący się w folder_motywu/less do pliku css/global.css. Wtyczka korzysta z LessPHP i pozwala używać LESS css ze wszystkimi jego zaletami - pozbywając nas obowiązku kompilowania ręcznie pliku po modyfikacji czy używania kompilatora w javasript, znacznie obciążającego komputer klienta.

 

Pobierz lessphpcompiler