Skocz do zawartości


 

Zdjęcie

Re: Wordpress - stworzenie Child Theme @kacper3355

Re: Wordpress - stworzenie Child Theme @kacper3355

  • Proszę się zalogować aby odpowiedzieć
6 odpowiedzi na ten temat

Re: Wordpress - stworzenie Child Theme @kacper3355

#1 Piotr GRD

Piotr GRD

    Weteran WHT

  • WHT Pro
  • PipPipPipPipPipPipPipPip
  • 533 postów
  • Skąd:Szczecin

Napisany 04 luty 2018 - 10:51

Ten temat jest (darmową) odpowiedzią na temat: Wordpress - stworzenie Child Theme napisany przez @kacper3355

 

 

Nie rozumiem osób, które korzystają z wtyczek do tego, jeśli "ręcznie" jest to banalnie proste.

Źródło porad i bardziej szczegółowe informacje: https://codex.wordpr...rg/Child_Themes

 

 

Tworzenie "child theme".

 

Stwórz nowy katalog wewnątrz "wp-content/themes", nazwa katalogu może być dowolnie wybrana przez Ciebie. Wewnątrz tego katalogu obecne muszą być dwa pliki: "style.css" i "functions.php".

 

W pliku "style.css" umieść następującą zawartość:

/*
Theme Name:     ORYGINALNY THEME Child
Description:    Child theme for the ORYGINALNY THEME
Template:       ORYGINALNYTHEMEFOLDER                          
*/
@import url("../ORYGINALNYTHEMEFOLDER/style.css");

Zamień "ORYGINALNYTHEMEFOLDER" poprzez rzeczywistą nazwę folderu ze swoim oryginalnym motywem.

 

Teraz wejdź do panelu Wordpressa, do zarządzania motywami i wybierz swój nowy motyw "ORYGINALNY THEME Child". I już, "Child Theme" działa.

 

 

Jak wykonywać zmiany?

 

Zmiany CSS dodawaj w utworzonym powyżej pliku "style.css" !poniżej! "@import". Jeśli ma to być modyfikacja istniejącego oryginalnego stylu, skopiuj wybrany fragment z oryginału i zmieniony umieść w "dziecku".

 

Zmiany funkcji dodawaj w "functions.php". Plik "functions.php" "dziecka" jest wczytywany najpierw, plik "functions.php" nadrzędnego stylu w drugiej kolejności. To istotne w przypadku tworzenia funkcji o tej samej nazwie, o tym samym zastosowaniu.

 

Zmiany w pozostałych plikach (page.php, header.php, footer.php itd.) dokonuj poprzez skopiowanie oryginalnego nadrzędnego pliku do folderu "dziecka" i wykonanie zmian w tejże "dziecięcej" kopii. Wszystkie te pliki (poza style.css i functions.php) jeśli istnieją, są pobierane z folderu "dziecka", jeśli nie istnieją, wówczas używane są te z nadrzędnego oryginału.

 

 

Aktualizacje

 

Aktualizacje nadrzędnego motywu mogą być bezproblemowo wykonywane i nie mają wpływu na "dziecko" do czasu, gdy są to zmiany "kosmetyczne". Jeśli jakiś nadrzędny motyw zmieni się w sposób znaczący, w szczególności jeśli zmieni się struktura plików tego nadrzędnego motywu, nasze "dziecko" może już nie pasować.

 

 

WAŻNE

 

Opisany przeze mnie sposób tworzenia "dziecka" jest sposobem najłatwiejszym, ale przestarzałym, nieoptymalnym (chodzi o "@import" w CSS). Sposób nowszy, zalecany, optymalny jest nieco bardziej skomplikowany odnośnie wskazywania używanych plików CSS motywu nadrzędnego i dziecka, do tego odnoszą się te nieco skomplikowane opisy używania "wp_enqueue_scripts" i "wp_enqueue_style" w pliku "functions.php" w tekście, do którego umieściłem powyżej link. Nie ma jednak najmniejszego problemu, by sposób ten zastosować później, gdy "child theme" będzie już zawierał modyfikacje.

 

 

 

Uwagi, aby ułatwić sobie pracę

 

Dobrze jest - czy to w stylu CSS czy to w plikach PHP - umieszczać komentarze, czego dotyczy zmiana. Gwarantuję, że po kilku latach i naniesieniu kilkudziesięciu drobnych zmian może okazać się, że bez komentarzy nie ogarniemy wszystkiego, lub zajmie nam to znacznie więcej czasu. Zapomnijmy o łatwym połapaniu się w kodzie bez komentarzy, jeśli operować będzie na nim kilka osób.

 

Przy przesyłaniu plików poprzez FTP dobrze używać jest trybu binarnego (nie tekstowego). Zamiana znaków końca linii pomiędzy systemami w trybie tekstowym nie zawsze działa jak należy, czasami następuje "rozstrzelenie" kodu w co drugą linijkę, poza tym tracimy możliwość porównywania plików na podstawie rozmiaru w bajtach.

 

Dobrze - moim zdaniem - jest również zachowywać datę modyfikacji pliku przy kopiowaniu go z serwera na dysk lokalny lub przy tworzeniu kopii zapasowej. Przy tworzeniu archiwów tar.gz bezpośrednio na serwerze nie ma z tym problemu, ale przy przesyłaniu przez FTP należy zaznaczyć odpowiednią opcję w używanym oprogramowaniu. Umożliwia to porównywanie plików na podstawie daty modyfikacji - które kiedy i czy w ogóle zmienialiśmy.


  • 0

#2 kacper3355

kacper3355

    Stały użytkownik

  • Użytkownicy
  • PipPipPipPipPip
  • 197 postów

Napisany 04 luty 2018 - 15:01

Hej. Dziękuje bardzo za odpowiedź!

W moim przypadku niestety powyższe rady nie działają. Cały czas wszystko jest zrobione, tak jak podałeś, ale niestety nic to nie daje - dziwne, bo inne szablony działają w ten sposób świetnie. Próbowałem dodawać skrypty z codexu do pliku functions.php, ale niestety też nie działa. :/ Gdyby to było takie proste, to nawet ja bym sobie z tym poradził :P Nigdy nie miałem takiego problemu i jestem w kropce.


  • 0

#3 irebu

irebu

    Nowy użytkownik

  • Nowy
  • 3 postów
  • Firma:iREBU Agencja Interaktywna
  • Imię:Maciej
  • Nazwisko:Skrzypczak

Napisany 04 luty 2018 - 16:09

mój bazowy child style.css i function.php
 
---------------------
 

style.css

 

/*
Theme Name: irebu.pl - child
Author:            iREBU Agencja Interaktywna
Author URI:     https://irebu.pl
Version:          1.0.0
Template:        irebu.pl
*/
 
---------------------
 
functions.php
 
<?php
 
function enqueue_parent_styles() {
 wp_enqueue_style( 'parent-style', get_stylesheet_directory_uri().'/style.css' );
}
add_action('wp_enqueue_scripts', 'enqueue_parent_styles');
 

 


  • 0

#4 Piotr GRD

Piotr GRD

    Weteran WHT

  • WHT Pro
  • PipPipPipPipPipPipPipPip
  • 533 postów
  • Skąd:Szczecin

Napisany 04 luty 2018 - 16:15

Czyżby motyw, który kupiłeś, miał w sobie zaszyte jakieś "anty-childowe" zabezpieczenie? Jeśli wszystko jest jak należy i identyczny sposób działa w przypadku innych motywów, to inaczej wytłumaczyć tego nie potrafię.

Teoretycznie wyobrażam sobie, że możliwe jest zakodowanie czegoś takiego (choć nie wiem dokładnie jak, trzeba by się wgryźć dokładnie w sposób obsługi motywów przez Wordpress), ale nie rozumiem po co miałby to ktoś robić. Widywałem już zakodowane fragmenty motywów Wordpressa tak, aby niemożliwe było łatwe usunięcie linku autora ze stopki itp., ale...


  • 0

#5 kacper3355

kacper3355

    Stały użytkownik

  • Użytkownicy
  • PipPipPipPipPip
  • 197 postów

Napisany 04 luty 2018 - 16:38

@irebu

 

Dokładnie w taki sposób próbowałem.

 

@Piotr GRD

Też mi się to wydaje strasznie dziwne. Motyw kosztował prawie 200 zł, więc ciężko mi sobie wyobrazić żebym nie mógł go dostosować pod siebie...

 

Jeśli ktoś z Was chciałby zobaczyć to na własne oczy, to mogę podesłać dane dostępu do strony. Tak dziwnej akcji z Wordpressem jeszcze nie miałem... W dodatku autor ledwie piszę po Polsku i ciężko się z nim dogadać...


Edytowany przez kacper3355, 04 luty 2018 - 16:39.

  • 0

#6 Rafiki

Rafiki

    Nowy użytkownik

  • Użytkownicy
  • 8 postów

Napisany 07 luty 2018 - 11:54

że wam się jeszcze tutaj chce siedzić?

Uciekajcie na rootnode.pl ;)


  • 1

#7 LuCek6

LuCek6

    Nowy użytkownik

  • Nowy
  • 20 postów

Napisany 11 luty 2018 - 16:27

hej, bardzo ciekawy wpis, że też chcialo Ci sie to pisać skoro mozan to samo znaleźć w sieci, pozdrawiam :)


  • 0





0 użytkowników czyta ten temat

0 użytkowników, 0 gości, 0 anonimowych użytkowników