metavalores Postal de encargo múltiples wordpress
Pregunta
Estoy bastante desesperada en PHP, por lo que pensé que había que pedir un poco de ayuda!
Estoy usando WordPress como un CMS para un sitio de la agencia de la música en daviesmusic.com y tienen un montón de información adicional para los diversos artistas a través de los campos personalizados. Hasta ahora, sólo he recuperado los valores de los campos personalizados, uno por uno, así:
<?php
//audio title
$audio_title = get_post_meta($post->ID, 'audio_name', true);
if ($audio_title) :
?>
<p><?php echo $audio_title; ?></p>
Esta bien las obras, lo único que tiene un montón de campos personalizados que todos requieren diferentes salidas. Tengo, por ejemplo, una foto de la artista, un archivo de audio, el título del archivo de audio y algunas notas sobre el archivo de audio, así:
<?php
//profile image
$profile_pic = get_post_meta($post->ID, 'profileimage', true);
if($profile_pic) :
?>
<img class="post-thumb-single" src="<?php bloginfo('template_directory'); ?>/timthumb.php?src=<?php echo $profile_pic; ?>&a=t&h=278&w=278&zc=1" alt="<?php the_title(); ?>" />
<?php
endif;
//photographer
$photographer = get_post_meta($post->ID, 'photographer', true);
if($photographer) :
?>
<p id="photographer">Photographer: <b><?php echo $photographer; ?></b></p>
<?php
endif;
//audio title
$audio_title = get_post_meta($post->ID, 'audio_title', true);
if ($audio_title) :
?>
<h4 class="nsmb">Audio files</h4>
<p><?php echo $audio_title; ?></p>
<?php
//audio file
$audio = get_post_meta($post->ID, 'audiofile', true);
if ($audio) :
?>
<p class="audio" id="audioplayer_1">Sorry, there was a problem loading the file.</p>
<script>AudioPlayer.embed("audioplayer_1", {soundFile: "<?php echo $audio; ?>"});</script>
<?php
$audio_credits_1 = get_post_meta($post->ID, 'audio_credits_1', true);
if ($audio_credits_1) :
?>
<p class="audio_cred"><?php echo $audio_credits_1; ?></p>
<?php
endif; endif; endif;
?>
Las porciones de código. Estoy seguro de que debe haber una manera más eficiente para recuperar los valores! ¿Alguna idea?!
Saludos
Solución
Tome este ejemplo de aquí :
$custom_fields = get_post_custom(72);
$my_custom_field = $custom_fields['my_custom_field'];
foreach ( $my_custom_field as $key => $value ){
echo $key . " => " . $value . "<br />";
}
Este ciclo voluntad a través de todos los valores especificados personalizados para el puesto (ID # 72 en este ejemplo, se puede obtener la suya utilizando como $post->ID
que tiene en su código). Puede utilizar $key
para imprimir el nombre del campo, y $value
para imprimir el valor de ese campo. Puede obtener más granular con la forma en que se muestran mediante una instrucción o una if elseif else
switch
.