Preluarea și afișarea datelor din tabelul personalizat în zona de administrare?
Așadar, am o mică problemă cu un plugin pe care îl dezvolt și mă întreb dacă cineva mă poate ajuta să clarific situația, deoarece multe, MULTE căutări nu au dat niciun rezultat. :-/
În principiu, plugin-ul meu creează mai multe entități personalizate în baza de date WordPress, care funcționează toate bine. Am adăugat o funcție shortcode pentru a adăuga un formular într-o pagină pentru trimiterea informațiilor, care, din nou, funcționează bine.
Problema mea este că atunci când vreau să preiau date din aceste entități personalizate și să le afișez în secțiunea de administrare WordPress (fie într-un widget de dashboard, fie într-o pagină personalizată de plugin), nu funcționează. Deloc.
Funcția mea de exemplu pentru preluarea datelor este următoarea:
function showApplicants(){
global $wpdb;
$appTable = $wpdb->prefix . "applications";
$query = $wpdb->prepare("SELECT * FROM $appTable WHERE %d >= '0'", RID);
$applications = $wpdb->get_results($query);
foreach ( $applications as $application )
{
echo $application->title . " " . $application->app_firstName . " " . $application->app_surName . "<br/>";
}
}
Ciudat este că atunci când acest cod este pus pe o pagină în afara zonei de administrare WordPress (de exemplu, o pagină creată în WordPress, prin intermediul unei funcții shortcode (care pur și simplu afișează acest cod) sau pe o pagină pe care o creez și o adaug eu însumi cu acest cod în template), funcționează! Preia informațiile corecte și le afișează conform așteptărilor.
Când îl adaug într-un widget de dashboard, nu merge. Când îl adaug într-o pagină personalizată în secțiunea de administrare, din nou, nu merge.
Sunt blocat. Aveți vreun sfat?
P.S. - Pentru a evita orice confuzie, variabila globală $wpdb este declarată mai sus în cod, deci nu este nevoie să o declar din nou (deși am încercat să o declar din nou în funcție și tot nu a funcționat).
Orice ajutor ar fi foarte apreciat!
Mulțumesc mult!

Cod funcțional pentru adăugarea unui widget în panoul de control WordPress cu informații dintr-o bază de date personalizată:
/**
* Adaugă un widget de aplicații în panoul de control.
*/
function addApplicationWidget() {
wp_add_dashboard_widget(
'submitted_applications',
'Aplicații Trimise',
'showApplicants'
);
}
add_action( 'wp_dashboard_setup', 'addApplicationWidget' );
function showApplicants() {
global $wpdb;
$appTable = $wpdb->prefix . "applications";
$query = $wpdb->prepare("SELECT * FROM $appTable WHERE %d >= '0'", RID);
$applications = $wpdb->get_results($query);
foreach ( $applications as $application ) {
echo $application->title . " " . $application->app_firstName . " " . $application->app_surName . "<br/>";
}
}
