Cum să afișezi datele meta box pe o pagină

5 mar. 2013, 12:43:52
Vizualizări: 36K
Voturi: 3

Î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ă:

Cod Metabox

1
Comentarii

Ai făcut vreun progres în legătură cu această întrebare?

kaiser kaiser
22 oct. 2013 13:30:19
Toate răspunsurile la întrebare 4
0

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 ) );
5 mar. 2013 12:57:26
0

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";
} 
5 mar. 2013 13:08:17
1
$m_meta_description = get_post_meta($post->ID, 'images_url',true);

echo 'valoarea din meta box: ' . $m_meta_description;
24 ian. 2018 07:20:02
Comentarii

Poți să explici de ce această soluție va rezolva problema?

Krzysiek Dróżdż Krzysiek Dróżdż
5 dec. 2018 09:48:43
1
-2

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.

16 iun. 2018 08:24:10
Comentarii

De ce? De ce crezi că trebuie să fie în buclă? Primul parametru pentru această funcție este post_id, așa că o POȚI folosi oriunde, nu doar în buclă. Îmi pare rău, dar răspunsul tău este pur și simplu greșit.

Krzysiek Dróżdż Krzysiek Dróżdż
16 iun. 2018 11:31:24