J'essaie d'afficher les méta-valeurs post et les clés méta. Si une seule valeur doit être affichée, je peux utiliser la fonction simple get_post_meta (), mais ce dont j'ai besoin maintenant, c'est de publier toutes les méta-données post avec le même post_id. J'ai essayé d'utiliser la boucle foreach mais rien ne s'affiche. pouvez-vous s'il vous plaît vérifier mes codes?
function wpt_calendar_display()
{
global $post;
$columns = array(
'date_event' => 'Date',
'name_event' => 'Event'
);
register_column_headers('list-header_events', $columns);
$event_name = get_post_meta( $post->ID, '_event_name' );
// $event_date = get_post_meta( $post->ID, '_event_date', false );
$return .= "<table class=\"widefat\">";
$return .= "<tr>";
$return .= print_column_headers('list-header_events');
$return .= "</tr>";
$return .= "<tr>";
if (!empty($event_name))
foreach($event_name as $e_name)
{
$return .= "<td>";
$return .= $e_name;
$return .="</td>";
}
$return .= "<td>";
$return .= "</td>";
$return .= "</tr>";
$return .= "</table>";
return $return;
}
Utilisation par défaut
Obtenez la méta pour toutes les clés:
<?php $meta = get_post_meta($post_id); ?>
Obtenez la méta pour une seule clé:
<?php $key_1_values = get_post_meta( 76, 'key_1' ); ?>
par exemple:
$myvals = get_post_meta($post_id);
foreach($myvals as $key=>$val)
{
echo $key . ' : ' . $val[0] . '<br/>';
}
Remarque: certaines clés méta indésirables commençant par "underscore (_)" viendront également, vous devrez donc les filtrer.
Pour référence: Voir Codex
Je l'utilise sous la forme d'une boîte à méta. Voici une fonction qui vide les valeurs de toutes les métadonnées pour post.
function dump_all_meta(){
echo "<h3>All Post Meta</h3>";
// Get all the data.
$getPostCustom=get_post_custom();
foreach( $getPostCustom as $name=>$value ) {
echo "<strong>".$name."</strong>"." => ";
foreach($getPostCustom as $name=>$value) {
echo "<strong>".$name."</strong>"." => ";
foreach($value as $nameAr=>$valueAr) {
echo "<br /> ";
echo $nameAr." => ";
echo var_dump($valueAr);
}
echo "<br /><br />";
}
} // Callback funtion ended.
J'espère que ça aide. Vous pouvez l'utiliser dans une boîte à méta ou au début.
$myvals = get_post_meta( get_the_ID());
foreach($myvals as $key=>$val){
foreach($val as $vals){
if ($key=='Youtube'){
echo $vals
}
}
}
Key = vidéos Youtube toutes les clés méta pour les vidéos youtube et la valeur