web-dev-qa-db-fra.com

Comment faire en sorte que les données de la méta-boîte s'affichent sur une page

J'essaie de reconstituer une Metabox avec 3 champs d'éditeur de texte pour un type d'article personnalisé.

La boîte apparaît et semble enregistrer sur les entrées de type d'article personnalisé, mais je ne parviens pas à afficher les données sur la page à simple [type-article-personnalisé] .php.

Dernièrement, j'ai essayé ce qui suit pour que les données de la boîte à méta soient affichées sur la page:

global $post;
$meta = get_post_meta($post->ID, 'my-info', true ); 
if ($meta != '') {
    echo $meta
} else { 
    echo "Can't Display The Content";
}

Je ne suis pas sûr que la création/la sauvegarde de Metabox pose un problème que je n'arrive pas à le faire afficher. Si quelqu'un pouvait me diriger dans la bonne direction, je l'apprécierais.

Voici un lien vers le code que j'utilise pour ma Metabox si cela peut vous aider:

Code Metabox

3
Syrehn

Pour afficher les métadonnées de type publication sur un seul modèle de page, je suppose que vous êtes dans la boucle.

// Use get_the_ID() to get the ID via the API function
echo get_post_meta( get_the_ID(), 'my-info', true );
// You can also call it from the global, as the query refers to the current single page
echo get_post_meta( $GLOBALS['post']->ID, 'my-info', true );

Si vous n'obtenez pas le résultat any , vous pouvez vérifier votre ensemble complet de données post-personnalisées:

printf( '<pre>%s</pre>', var_export( get_post_custom( get_the_ID() ), true ) );
8
kaiser

Utilisez les identifiants des champs pour obtenir les métadonnées des champs respectifs en tant que code suivant.

global $post;
$meta = get_post_meta($post->ID,'myinfo-box1', true); // Use myinfo-box1, myinfo-box2, myinfo-box3 for respective fields
if ($meta != '') {
    echo $meta;
} else { 
    echo "Can't Display The Content";
} 
1
Vinod Dalvi
$m_meta_description = get_post_meta($post->ID, 'images_url',true);

echo 'meta box value: ' . $m_meta_description;
0
Vivekpathak