Frage

Ich bin in PHP ziemlich hoffnungslos, so dass ich dachte, ich für ein bisschen Hilfe bitten würde!

Ich bin mit Wordpress als CMS für eine Musikagentur Website unter daviesmusic.com und haben viele zusätzliche Informationen für die verschiedenen Künstler über benutzerdefinierte Felder. Bisher habe ich nur die benutzerdefinierten Feldwerte nacheinander abgerufen werden, etwa so:

<?php
    //audio title
    $audio_title = get_post_meta($post->ID, 'audio_name', true);
    if ($audio_title) :
?>

    <p><?php echo $audio_title; ?></p>

Das funktioniert gut, nur habe ich viele benutzerdefinierte Felder, dass alle verschiedenen Ausgänge erfordern. Ich habe zum Beispiel ein Foto für den Künstler, eine Audio-Datei, der Titel der Audio-Datei und ein paar Notizen über die Audio-Datei, etwa so:

    <?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;
    ?>

Viele Code. Ich bin es sicher ein effizienter Weg sein, müssen die Werte abrufen! Irgendwelche Ideen?!

Prost

War es hilfreich?

Lösung

Nehmen Sie dieses Beispiel von hier :

$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 />";
}

Dies wird durch alle angegebenen benutzerdefinierten Werte für die Post (id # 72 in diesem Beispiel können Sie Ihre mit $post->ID erhalten, wie Sie in Ihrem Code haben). Sie können $key verwenden Sie die Feldnamen zu drucken, und $value den Wert dieses Feldes zu drucken. Sie können mehr granulare bekommen mit, wie sie sind eine if elseif else Anweisung oder eine switch angezeigt mit .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top