[WordPress] Cannot redeclare printPostCategories
Jacek Król
7/12/2015 | 11:45 PM

Witam, jestem w trakcie przerabiania kursu Tworzenie Motywów w wordpresie. Utknąłem na lekcji "Wyświetlanie dynamicznych kategorii" w dziale "Strony archiwów WordPres". Otrzymuje błąd jak w tytule zamiast zaimportowania kategorii do archiwum restauracji. Mimo iż wszystko jest tak zakodowane jak w kursie kod kilkakrotnie sprawdzałem i kopiowałem z plików źródłowych, wordpress 3.5.1 Proszę o pomoc!

Krzysztof Branecki
7/13/2015 | 8:38 PM

witam Problem tkwi w tym, że stworzył Pan motyw potomny dla gotowego szablonu z kursu. Proszę z pliku style.css usunąć linijkę 8 o treści "Template: lovetoeat" Ten zapis informuje wordpresa aby szukał motywu potomnego i jak że w tym szablonie (z kursu, który pewnie też masz na serwerze umieszczony ) jest umieszczona funkcja i nie jest objęta w if(!function_exists() następuje...

Jacek Król
7/13/2015 | 10:02 PM

Mistrzu [!] działa! :D Usunąłem nie tylko linijkę lecz cały szablon twenty.. razem z tym moim potomnym - tak na wszelki wypadek. I nie działało dalej, później opatuliłem exsist funkcje printRestaurant a printPostCategories przeniosłem do utils.php i działa miód malina xd Nie wyobraża Pan sobie ile mnie to nerwów kosztowało... W kursie o funkcji exists w tym miejscu nic nie było... Dziękuję! :)

Krzysztof Branecki
7/13/2015 | 8:39 PM

.. podwójne wywołanie tej funkcji. Usunięcie tej linijki powinno usunąć problem. Przynajmniej u mnie na serwerze testowym wszystko działa poprawnie

Jacek Król
7/13/2015 | 7:09 PM

Dziękuje Krzysztofie że pomagasz mi rozwiązać ten problem, jednak nadal jest błąd poniżej paczka z szablonem. :)

Załączony plik: LoveToEat.rar
Krzysztof Branecki
7/13/2015 | 6:06 PM

Przepraszam w funkcję if(!function_exists(printRestaurantCategories')) { chodzi o zaprzeczenie "!" które zapomniałem dodać :)

Krzysztof Branecki
7/13/2015 | 5:44 PM

Proszę spróbować opakować tą funkcję w if (function_exists('printRestaurantCategories')) { //kod funkcji } i zobaczyć czy dalej będzie ten błąd. A najlepiej niech Pan wyśle całą paczkę z szablonem będzie dużo łatwiej znaleźć przyczynę.

Jacek Król
7/13/2015 | 1:33 PM

No właśnie nie mam nigdzie tej funkcji drugi raz w pliku utils.php również - przesyłam w załączniku utils.php Ale mimo iż to nie ma prawa działać po usunięciu to usunąłem i otrzymałem komunikat: "Cannot redeclare printRestaurantCategories() (previously declared in ścieżka\functions.php:15) in ścieżka\functions.php on line 17"

Załączony plik: utils.php
Jacek Król
7/13/2015 | 1:10 PM

Dziękuje za odpowiedź. Zerknął by Pan, ewentualnie ktoś inny do załączonego pliku poniżej functions.php gdzie może być błąd - kopiowałem pliki źródłowe nawet przepisywałem z ekranu filmu i cały czas mam błąd mimo iż robię wszytko identycznie jak Pan Grzegorz.. :/ Walczę z tym od wczorajszego popołudnia. Dopiero zaczynam z php. Z góry dziękuję za pomoc :) W załączniku screen z dokładnym błędem.

Załączony plik: błąd.png
Krzysztof Branecki
7/13/2015 | 1:09 PM

Proszę z functions.php usunąć całkowicie funkcję printPostCategories gdyż ma Pan tą funkcję już dodaną w pliku libs/utils.php

Krzysztof Branecki
7/13/2015 | 12:23 PM

Z błędu jaki Pan podał w tytule wynika że drugi raz zadeklarował Pan funkcję printPostCategories

Jacek Król
7/12/2015 | 11:49 PM

Załączony plik: functions.php