Cum să afișezi datele meta box pe o pagină
Încerc să creez un Metabox cu 3 câmpuri de editor text pentru un tip de postare personalizat.
Caseta apare și pare să salveze datele în intrările tipului de postare personalizat, dar nu pot să afișez datele pe pagina single-[custom-post-type].php.
Cel mai recent am încercat următoarea metodă pentru a afișa datele meta box pe pagină:
global $post;
$meta = get_post_meta($post->ID, 'my-info', true );
if ($meta != '') {
echo $meta
} else {
echo "Nu pot afișa conținutul";
}
Nu sunt sigur dacă este o problemă cu crearea/salvarea Metabox-ului că nu pot să-l afișez. Dacă cineva mă poate îndruma în direcția corectă, aș aprecia.
Aici este un link către codul pe care îl folosesc pentru Metabox-ul meu dacă ajută:

Pentru a afișa metadatele tipului de post pe un șablon de pagină singulară, presupun că vă aflați în Loop.
// Folosiți get_the_ID() pentru a obține ID-ul prin funcția API
echo get_post_meta( get_the_ID(), 'my-info', true );
// De asemenea, puteți apela din global, deoarece interogarea se referă la pagina singulară curentă
echo get_post_meta( $GLOBALS['post']->ID, 'my-info', true );
Dacă nu obțineți niciun rezultat, atunci ar trebui să verificați setul complet de date personalizate ale postului:
printf( '<pre>%s</pre>', var_export( get_post_custom( get_the_ID() ), true ) );

Utilizați ID-urile câmpurilor pentru a obține metadatele câmpurilor respective, conform codului de mai jos.
global $post;
$meta = get_post_meta($post->ID,'myinfo-box1', true); // Utilizați myinfo-box1, myinfo-box2, myinfo-box3 pentru câmpurile respective
if ($meta != '') {
echo $meta;
} else {
echo "Conținutul nu poate fi afișat";
}

Uneori atributul id nu funcționează, așa că putem folosi atributul name.
Pentru afișarea valorilor din meta box, codul tău trebuie să fie în buclă.
$meta = get_post_meta($post->ID,'meta-box-text', true);
Aici meta-box-text este atributul name al câmpului meu de input text.
Funcționează perfect pentru mine.
