0

画像ギャラリーをアップロードしてカスタム投稿タイプを作成しました。現在、フロントエンドにギャラリーを表示しようとしています。これは私がこれまでに1つの画像を表示するために機能するものですが、複数の画像がアップロードされると、すべてのURLがsrcタグでスタックします。だから私はその配列をループしてそれぞれを別々に吐き出すべきだと思いますか?それが進むべき道でしょうか?もしそうなら、どうすればこれを達成できますか?どんな助けでも大歓迎です。

<?php if (have_posts()) :  while (have_posts()) : the_post(); ?>

<?php
echo '<img src="'.get_post_meta($post->ID, 'gallery-upload', true).'">';    
?>

<?php endwhile; else: ?>
    <p><?php _e('No posts were found. Sorry!'); ?></p>
<?php endif; ?>

編集:

これが返されるものです:

<img src="http%3A%2F%2Flocalhost%3A8888%2Fandreasmoulis%2Fwp-content%2Fuploads%2F2012%2F10%2F800x400-volbeat-mock1.jpeg%2Chttp%3A%2F%2Flocalhost%3A8888%2Fandreasmoulis%2Fwp-content%2Fuploads%2F2012%2F10%2F1574_2_1.jpeg%2Chttp%3A%2F%2Flocalhost%3A8888%2Fandreasmoulis%2Fwp-content%2Fuploads%2F2012%2F10%2F1576_2_1.jpeg%2Chttp%3A%2F%2Flocalhost%3A8888%2Fandreasmoulis%2Fwp-content%2Fuploads%2F2012%2F10%2F1576_4_1.jpeg%2Chttp%3A%2F%2Flocalhost%3A8888%2Fandreasmoulis%2Fwp-content%2Fuploads%2F2012%2F10%2F2244_2_1.jpeg%2Chttp%3A%2F%2Flocalhost%3A8888%2Fandreasmoulis%2Fwp-content%2Fuploads%2F2012%2F10%2F300789_2349086884438_1168050047_32154880_1451576942_n.jpeg%2Chttp%3A%2F%2Flocalhost%3A8888%2Fandreasmoulis%2Fwp-content%2Fuploads%2F2012%2F10%2F373795_278881222158106_278880528824842_834930_1454244548_n.jpeg%2Chttp%3A%2F%2Flocalhost%3A8888%2Fandreasmoulis%2Fwp-content%2Fuploads%2F2012%2F10%2F20110909-121141.jpeg">
4

1 に答える 1

1

関数参照を見ると、get_post_metaは通常、3番目の引数がtrueに設定されていない限り、配列を返します。このようなものは、多かれ少なかれ機能するはずです。

<?php
foreach(get_post_meta($post->ID, 'gallery-upload') as $meta) {
  foreach(explode(',', $meta) as $src) {
    echo '<img src="'.htmlentities($src).'">';
  }
}
?>

編集:どうやらgallery-uploadはコンマ区切りの値として保存されています。うまくいけばこれを説明するために上記の私のスニペットを更新しました。

于 2012-10-16T04:02:36.057 に答える