Tag: child themes

Dodajemy datę ostatniej aktualizacji wpisu w WordPressie

Dziś będzie o tym, jak dodać do strony na WordPressie informacje o dacie ostatniej aktualizacji, i to w taki sposób, by data ta była zaciągana automatycznie, bez potrzeby ręcznego wypełniania jakiś dodatkowych pól – WordPress i tak przechowuje w bazie danych tego typu informacje.

Dodatkowe menu i pole na widżety (sidebar) w WordPressie

Wprawdzie większość motywów – zwłaszcza tych bardziej rozbudowanych – do WordPressa ma zazwyczaj przynajmniej kilka miejsc na widżety i 1-2 miejsca na menu (choć czasem dziwnie rozmieszczonych), to warto wiedzieć, że w kilku prostych krokach możemy dodać dodatkowe miejsca tego typu, właściwie w dowolnym miejscu naszego motywu.

Wtyczka StCR w WordPressie i mały problem ze stroną zarządzania subskrypcjami komentarzy

Napisał do mnie znajomy, że dostał e-mail od jednego ze swoich czytelników, że ten poskarżył mu się, że nie może zarządzać swoją subskrypcją komentarzy na jego stronie, gdyż kliknięcie w link teoretycznie do tego służący wyświetla stronę/błąd 404 (nie ma takiej strony), i czy z racji tego, że używam tej samej wtyczki (StCR) u mnie (nie) występuje podobny problem…

Własna zawartość w formularzu dodawania komentarza w WordPressie (kod i wtyczka)

Na początku miał to być krotki wpis o tym, jak za pomocą kilku linijek kodu zmienić standardowy tekst jaki w WordPressie wyświetlany jest w formularzu dodawania nowego komentarza (frontend). Notatki do wpisu cały czas się rozrastały o dodatkowe możliwości, a na koniec pojawiła się jeszcze wtyczka, dla tych co wolą gotowe rozwiązanie…

WP-CLI, czyli szybkie i wygodne zarządzanie WordPressem z poziomu konsoli (i skryptów)

Dziś chciałbym Wam przedstawić narzędzie do zarządzania stronami opartymi o system CMS WordPress za pomocą komend tekstowych – i choć może to wydawać się mniej wygodne niż klasyczne zarządzanie za pomocą panelu, to w wielu sytuacjach pozwala znacznie usprawnić pracę z tym CMSem…

WordPress Must-use Plugins, czyli wtyczki wymuszone (alternatywa dla functions.php)

W przypadku większości stron opartych m.in. o system WordPress którymi zarządzam „zwykli użytkownicy” mają zazwyczaj uprawnienia ograniczone do niezbędnego minimum, tak, by przypadkowymi działaniami nie spowodować „jakiejś usterki” na stronie.
Są jednak sytuacje, gdy właściciel bądź oddelegowany użytkownik chce/potrzebuje mieć większe uprawnienia – w tym czasem nawet zarządzanie wtyczkami i motywami, oczywiście po odpowiednim przeszkoleniu i ustaleniu ograniczenie odpowiedzialności po mojej stronie.
Ale nawet w takiej sytuacji jest jeszcze jedna linia obrony, dzięki czemu przynajmniej część ustawień/modyfikacji możemy zablokować przed przypadkową zmianą…

WordPress/WooCommerce: Tłumaczymy wybrane teksty szablonu i/lub wtyczki

Przy okazji ostatniej większej zmiany wyglądu strony pisałem o „szablonach potomnych” w WordPressie… Wtedy też  (zmiana szablonu, nie pisania artykułu ;-)) wystąpił „mały zgrzyt” z brakiem tłumaczeń niektórych tekstów, a to oznacza dobrą okazję do napisania tekstu na ten temat… :-)

Automatyczne dodawanie załącznika do wiadomości e-mail z potwierdzeniem zamówienia w WooCommece (WordPress)

Tak jak napisałem wczoraj – w związku z nadchodzącymi zmianami związanymi z nową ustawą o prawach konsumenta, która zacznie obowiązywać m.in. sklepy internetowe już w czwartek (25 grudnia) w kilka sklepach przygotowujemy zmiany z tym związane.
Jedną z takich zmian jest automatyczne dołączanie do wiadomości e-mail potwierdzających zakup regulaminu sklepu, oraz formularza odstąpienia od umowy wraz z pouczeniem (pliki PDF).
A z racji tego, że ostatnio sklepy internetowe uruchamiamy głównie na platformie WooCommerce (WordPress), to dziś chciałbym przedstawić, jak właśnie w sklepie internetowym opartym o tą platformę wykonać takie zadanie…
WooCommece (WordPress) i dodawanie załącznika do automatycznych wiadomości
Jeśli ktoś z Was do tej pory nie dodawał nigdy „własnego kodu” do WordPressa, to odsyłam do wczorajszego wpisu – dziś przejdziemy od razu do sedna, czyli kodu:

function pryc_woocommerce_add_attachments_to_order_email($attachment,$status,$order) {

$order_status_with_attachments = array('customer_processing_order');

if (isset($status) && in_array($status,$order_status_with_attachments)) {
$attachment01_path = get_stylesheet_directory().'/regulamin.pdf';
$attachments[] = $attachment01_path;
}

return $attachments;
}

add_filter('woocommerce_email_attachments','pryc_woocommerce_add_attachments_to_order_email',10,3);

Mamy tu funkcję „pryc_woocommerce_add_attachments_to_order_email()”, która jest wykonywana w momencie tworzenia przez WooCommerce/WordPress wiadomości e-mail. Funkcja ta, dla wybranych statusów – w naszym przypadku „customer_processing_order” (potwierdzenie zamówienia dla klienta) – dodaje wskazany załącznik (regulamin.pdf) znajdujący się w katalogu naszego szablonu (szablon potomny/child theme).
Oczywiście skrypt można zmodyfikować, zależnie od naszych potrzeb:
Więcej załączników
Jeśli potrzebujemy dodać więcej niż jeden załącznik, wystarczy zdublować ten fragment kodu:
$attachment01_path = get_stylesheet_directory().'/regulamin.pdf';
$attachments[] = $attachment01_path;

modyfikując go wedle potrzeb:
$attachment02_path = get_stylesheet_directory().'/jakiś-inny-plik.pdf';
$attachments[] = $attachment02_path;

$attachment03_path = get_stylesheet_directory().'/i-jeszcze-jeden-plik.pdf';
$attachments[] = $attachment03_path;

W efekcie otrzymamy coś takiego:
function pryc_woocommerce_add_attachments_to_order_email($attachment,$status,$order) {

$order_status_with_attachments = array('customer_processing_order');

if (isset($status) && in_array($status,$order_status_with_attachments)) {
$attachment01_path = get_stylesheet_directory().'/regulamin.pdf';
$attachments[] = $attachment01_path;

$attachment02_path = get_stylesheet_directory().'/jakiś-inny-plik.pdf';
$attachments[] = $attachment02_path;

$attachment03_path = get_stylesheet_directory().'/i-jeszcze-jeden-plik.pdf';
$attachments[] = $attachment03_path;

}

return $attachments;
}

add_filter('woocommerce_email_attachments','pryc_woocommerce_add_attachments_to_order_email',10,3);

Inna ścieżka pliku
Kolejną modyfikacją jest zmiana ścieżki/adresy pliku – w podanym przykładzie korzystamy ze ścieżki naszego szablonu, a konkretnie pliku style.css (get_stylesheet_directory()).
Można tu oczywiście wstawić dowolną ścieżkę, choć musi to być ścieżka bezwzględna, w formacie systemowym (Linux), np.:
/var/www/webinsider.pl/public_html/wp-content/uploads/regulamin.pdf
Natomiast nie zadziała ścieżka „internetowa”, np.:
//webinsider.pl/wp-content/uploads/regulamin.pdf
I przykład kodu ze zmienioną ścieżką, jak w przykładzie powyżej:
function pryc_woocommerce_add_attachments_to_order_email($attachment,$status,$order) {

$order_status_with_attachments = array('customer_processing_order');

if (isset($status) && in_array($status,$order_status_with_attachments)) {
$attachment01_path = '/var/www/webinsider.pl/public_html/wp-content/uploads/regulamin.pdf';
$attachments[] = $attachment01_path;

}

return $attachments;
}

add_filter('woocommerce_email_attachments','pryc_woocommerce_add_attachments_to_order_email',10,3);

Załączniki do wiadomości dla innych statusów
W naszym przykładzie załącznik dodajemy do pierwszej wiadomości jaką otrzymuje klient, czyli z potwierdzeniem zamówienia. Odpowiada za to status „customer_processing_order”.
Oczywiście nie ma przeszkód by wykorzystać podaną metodę dla innych statusów, np.:

new_order – wiadomość dla obsługi sklepu o nowym zamówieniu
customer_completed_order – wiadomość dla klienta o gotowym zamówieniu

Wystarczy zmodyfikować jedną linijkę wg schematu:
$order_status_with_attachments = array('order_status01','order_status02','order_status03');

Oczywiście można kod rozbudować, o różne załączniki dla rożnych statusów – ale to już zależy od Waszych potrzeb… ;-)

Tworzymy motyw potomny (Child Theme) w WordPressie

Jeśli ktoś z Was był na tej stronie choćby jeszcze kilak godzin temu, to zapewne zauważył radykalną zmianę w wyglądzie – nie była to operacja zaplanowana, tym razem poszliśmy na żywioł, czego osobiście nie polecam w środowiskach produkcyjnych ;-)
W każdym razie zmiana stała się faktem, choć zostało jeszcze troszkę roboty z poznawaniem nowego szablonu i jego dopasowywaniem do własnych potrzeb.
Przy okazji uświadomiłem sobie, że o ile o samym WordPressie pisałem na tej stronie kilkukrotnie, to do tej pory nie było artykułu/wpisu o „szablonach potomnych” (Child Themes), które znacznie ułatwiają pracę choćby związaną z modyfikowaniem wyglądu strony/szablonu.

Loading

Akcja społeczna

Akcja społeczna

Reklama własna

Reklama

Reklama