Includerea fișierului de clasă în WordPress

2 iul. 2015, 05:41:42
Vizualizări: 17.5K
Voturi: 2

Includ un fișier de clasă în fișierul functions.php

require_once get_template_directory() . "/core/classes/General.php";
require_once get_template_directory() . "/core/classes/User.php";

Când folosesc $user->getCredits($user_id); într-o pagină, funcționează corect. Dar când încerc să utilizez aceeași linie de cod în header.php, primesc eroarea Call to a member function getCredits() on null.

Ce am făcut a fost să includ același fișier în header.php, dar tot primesc aceeași eroare. Când am eliminat fișierul inclus din functions.php, eroarea a dispărut și codul din header.php a funcționat ($user->getCredits($user_id)), dar apoi în paginile normale nu a detectat fișierul necesar.

Există vreo soluție pentru această problemă?

2
Comentarii

poate obiectul tău $user nu este creat până în punctul în care ai încercat să-l apelezi în antet.

Karun Karun
2 iul. 2015 06:35:33

se pare că e o problemă de domeniu de vizibilitate.

Milo Milo
2 iul. 2015 07:42:48
Toate răspunsurile la întrebare 1
0

Te rog să clarifici unde inițializezi obiectul $user în ambele moduri (function.php și header.php).

Aici este un alt fir de discuție pe stack cu o problemă similară, aruncă o privire:

Organizarea codului în fișierul functions.php al temei WordPress?

Mulțumesc, Vee

2 iul. 2015 08:24:15