Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inne][PHP]Includowanie między wtyczkami WordPress
marcin909090
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 4.11.2015

Ostrzeżenie: (0%)
-----


Witam. Posiadam jedną wtyczkę, która używa pliku "Funkcje_pobierajace_dane.php".
Chcę aby druga wtyczka używała tego samego pliku.

Na obrazku pierwszym widać strukturę katalogów:
1. (IMG:http://iv.pl/images/52103344274160312944.jpg)

Rozpatrujemy wtyczki "apaczka_menu" oraz "apaczkaV2"

Na obrakzu drugim struktura katalogu "apaczkaV2".

2. (IMG:http://iv.pl/images/36450087350121287658.jpg)

Na obrakzu trzecim struktura katalogu "apaczka_menu".

3. (IMG:http://iv.pl/images/24781196894465050159.jpg)

Chcę includować do pliku "apaczkaV2.php" plik Funkcje_pobierajace_dane.php.
Więc w pliku "apaczkaV2.php" wpisuję:
  1. include_once('../apaczka_menu/Funkcje_pobierajace_dane.php');

Uruchamiam wtyczkę apaczkaV2.php i nie widzi w ogóle pliku. To jest nie logiczne, ponieważ plik tam istnieje. W czystym PHP to działa, w WordPressie nie działa.
Błąd standardowy :
  1. Warning: include_once(../apaczka_menu/Funkcje_pobierajace_dane.php): failed to open stream: No such file or directory /httpdocs/wordpress/wp-content/plugins/apaczkaV2/apaczkaV2.php on line 14
  2.  
  3. Warning: include_once(): Failed opening '../apaczka_menu/Funkcje_pobierajace_dane.php' for inclusion (include_path='.:') in httpdocs/wordpress/wp-content/plugins/apaczkaV2/apaczkaV2.php on line 14


Spotkał się ktoś z czymś takim ? Ścieżki są na 100% dobrze. Może jakieś prawa dostępu na serwerze (ale wszystko zmieniłem na 777 w filezilli). Wordpress nie potrafi importować nic poza plikami w katalogu z wtyczką ?

Ten post edytował marcin909090 17.11.2015, 11:47:01
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
freemp3
post
Post #2





Grupa: Zarejestrowani
Postów: 467
Pomógł: 77
Dołączył: 6.09.2008
Skąd: Miechów / Kraków

Ostrzeżenie: (0%)
-----


Niestety, ale ścieżki są na 100% źle. Na czystym php działa ponieważ wykonujesz plik apaczkaV2.php i względem niego ścieżka jest ok. W wordpressie natomiast wykonywany jest plik index.php znajdujący się w głównym katalogu, a reszta plików, w tym Twój apaczkaV2.php jest do niego dołączany. Dlatego też przy wywołaniu include ścieżka relatywna jest tworzona właśnie na podstawie pliku index.php.

Tak jak radzi bobek358 wykorzystaj ścieżkę absolutną.

Możesz wykorzystać funkcję plugin_dir_path, aby pobrać ściężkę do pluginu apaczkaV2 i na jej podstawie tworzyć ścieżki relatywne, aby przy ewentualnym przeniesieniu strony na inne środowisko nie było problemów.

Ten post edytował freemp3 17.11.2015, 12:56:32
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 21:21