To da, że usunie atrybut xmlns z tagu HTML, którego czepiał się validator.
Do potomnego nie wrzuca się pliku functions.php (w sensie nie wrzuca się tego z motywu głównego). Patrz co pisałem wcześniej w drugiej odpowiedzi bodajże -plik functions.php nie jest nadpisywany. Co znaczy, motyw potomny ma swój własny, motyw główny ma swój ….i oba działają jednocześnie.
Fynctions.php childa ma być całkowicie pusty i wstawiasz do niego wyłącznie to, co potrzebujesz ….o ile potrzebujesz. Czyli głównie własne akcje, filtry etc.
Nie kopiujesz functions.php z motywu głównego, bo będzie wysyp błędów i pad spowodowany błednymi ściezkami, zdublowanymi deklaracjami funkcji itd.
aha, a jak mam to załatwić aby nie modyfikować pliku function.php przy każdej aktualizacji wtyczki motywu?
Przecież motywu potomnego aktualizacje nie dotykają, wiec co wrzucisz w functions.php potomnego, to będzie w nim dalej i po aktualizacji.
Wiem, ale plik function.php mam w folderze z motywem pierwotnym. Dla jasności wrzuce screen jak to dokładnie u mnie wygląda 😉
MOTYW POTOMNY
![motyw-potomny.jpg](https://s1.gifyu.com/images/motyw-potomny.jpg)
MOTYW PIERWOTNY
![motyw-pierwotny.jpg](https://s1.gifyu.com/images/motyw-pierwotny.jpg)
Czy w takim układzie mi nie nadpisze ?
-
Ta odpowiedź została zmodyfikowana 6 years, 10 months temu przez
michaha.
-
Ta odpowiedź została zmodyfikowana 6 years, 10 months temu przez
michaha.
Wiem, ale plik function.php mam w folderze z motywem pierwotnym
Wiesz, ale chyba dalej nie rozumiesz. A tłukę o tym od samego początku.
Tak, w motywie pierwotnym masz functions.php, musisz tam mieć i aktualizacje motywu go nadpisują.
Motyw potomny zaś ma swój własny plik functions.php – on jednak nie zastępuje tego oryginalnego tak jak to ma miejsce z szablonami. On jest jest uruchamiany obok – czyli masz de facto dwa działające pliki functions.php, ten z motywu potomnego i w tle wykonujący się oryginalny. Wiec niezależnie od tego czy masz w potomnym plik functions.php, czy go nie masz (bo nie musisz mieć), ten oryginalny i tak zostanie wykonany.
Masz zatem problem, a nawet dwa. 1. jak zmienić coś, co i tak się wykona. 2. ograniczenia narzucone przez PHP m.in. nie można wielokrotnie deklarować tej samej funkcji, klasy, stałej…
Plikiem functions potomnego możesz pośrednio wpływać na sposób działania tego oryginalnego np. wypinać lub podmieniać style/skrypty (wp_deregister_style/script, wp_dequeue_style/script, wp_enqueue_style/script), możesz wyrejestrować akcje/filtry, zarejestrować własne (remove_action, remove_filter, add_action, add_filter).
itd.
1. jak zmienić coś, co i tak się wykona.
Tego problemu akurat nie rozumiem ;-P
2. ograniczenia narzucone przez PHP m.in. nie można wielokrotnie deklarować tej samej funkcji, klasy, stałej…
Czyli jak powinienem to rozwiązać ? Chodzi mi tylko o to żebym nie musiał przy każdej aktualizacji zmieniac function.php, wiesz o co mi chodzi… Jak to zrobić najłatwiej aby tylko raz wprowadzić te zmiany które dokonałem w function.php w motywie pierwotnym…
Plikiem functions potomnego możesz pośrednio wpływać na sposób działania tego oryginalnego np. wypinać lub podmieniać style/skrypty (wp_deregister_style/script, wp_dequeue_style/script, wp_enqueue_style/script), możesz wyrejestrować akcje/filtry, zarejestrować własne (remove_action, remove_filter, add_action, add_filter).
itd.
A gdzie jest lokalizacja pliku function.php dla motywu potomnego ?
-
Ta odpowiedź została zmodyfikowana 6 years, 10 months temu przez
michaha.
-
Ta odpowiedź została zmodyfikowana 6 years, 10 months temu przez
michaha.
-
Ta odpowiedź została zmodyfikowana 6 years, 10 months temu przez
michaha.
1. no i tutaj właśnie potrzebna jest znajomość PHP i samego WordPressa od podszewki
Jak chcesz korzystać z akcji i filtrów, jeżeli nie wiesz w jaki sposób one działają? A jak z funkcji, klas itd.?
Tutaj przestaje działać proste kopiuj&wklej&zmień. Trzeba już rozumieć w jaki sposób coś funkcjonuje i co można z tym robić.
….czyli warto zacząć od kursu PHP, potem poznać mechanizmy WP – akcje, filtry, podstawowe funkcje…
-tego wszystkiego nie da się wyłożyć w 2 zdaniach.
2. no właśnie nie rusza się pliku functions.php motywu głównego, tylko ingeruje się z poziomu pliku functions motywu potomnego – głównie korzystając z akcji i filtrów. Więc patrz punkt 1.
3. tworzysz go w motywie potomnym.
czyli nie da się tego zrobić z prosty sposób ? No u mnie kiepsko z .PHP
Nadpisanie tego pliku w takim razie było trochę bez sensu… a jakieś inne rozwiązania są? Tam był jakiś błąd w kodzie motywu. Pisać do twórców ?
-
Ta odpowiedź została zmodyfikowana 6 years, 10 months temu przez
michaha.
To może napisz, co dokładnie chcesz zmienić.
Cześc nie mogłem wczoraj odpisać,
———————————————————————-
<a href="https://themegrill.com/themes/colormag/" target="_blank" title="ThemeGrill" rel="designer noopener noreferrer"><span>
Uważa że zła jest wartość rel=”designer” przy elemencie a
———————————————————————
chodzi mi o to żeby poprawili ten błąd, czy jest sens pisać ? Na razie mam nadpisany plik function.php ale to do czasu najbliższej aktualizacji 😛
właśnie miałem aktualizacje motywu 😀
Toż przecież wcześniej już pisałem w jaki sposób możesz zmienić tekst w stopce.
W plik functions.php MOTYWU POTOMNEGO wstawiasz:
function colormag_footer_copyright() {
echo 'Tutaj tekst/kod, który chcę mieć w mojej stopce';
}
Wiem, ale chciałbym to mieć na stałe, anie co kilka dni wstawiać 😛 A dobrym pomysłem jest odłączyć motyw od aktualizacji ?
Litości, ile trzeba powtarzać, że AKTUALIZACJE NIE NADPISUJĄ MOTYWU POTOMNEGO – dlatego do jasnej ciasnej się z niego korzysta – motyw podstawowy można spokojnie aktualizować, a zmiany siedzą sobie w tym czasie nietknięte w potomnym.
Koniec, kropka. Więcej już do tego tematu nie wracam.
Zależało mi jedynie na tym, aby ten błąd naprawić na stałe, a nie żeby Cię wkurzyć, ale OK napisałem już do twórców ColorMag, powiedzieli że poprawią przy najbliższej okazji.