簡體   English   中英

在帖子內容中顯示多個同名的自定義字段

[英]Displaying Multiple Custom Fields of the same name in Post Content

因此,使用帶有來自客戶現有網站的大量導入內容的新Wordpress主題,在其舊主題中,他們將多個圖像附加到其各自的投資組合頁面。

這些圖像都共享相同的自定義字段名稱:project_photo_photo

我遇到的問題是,在新主題中,我該如何挽救導入的數據並利用現有的自定義字段名稱,並在發布循環模板中為每個發布顯示多個項目圖像?

下面的代碼示例顯示了嘗試顯示此內容有多遠,它僅顯示一個圖像結果,添加同一代碼塊的倍數只會導致顯示第一個圖像的副本:

<?php if ( get_post_meta( get_the_ID(), 'project_photo_photo' ) ) : ?>
            <div class="grid_gallery clearfix">
                <div class="grid_gallery_inner">
                    <figure class="gallery_item featured-thumbnail thumbnail single-gallery-item">
                        <a href="/wp-content/files_mf/<?php echo get_post_meta( get_the_ID(), 'project_photo_photo', true ); ?>" class="image-wrap" rel="prettyPhoto[gallery]">
                            <img class="project_photo_photo" width="260" src="/wp-content/files_mf/<?php echo get_post_meta( get_the_ID(), 'project_photo_photo', true ); ?>" alt="<?php the_title(); ?>" />
                        <span class="zoom-icon"></span>
                        </a>
                    </figure>
                </div>
                <!--END .slider -->
            </div>
        <?php endif; ?>

我覺得我已經接近了,必須要有一種優雅的方法。 如果有人可以在這里幫助我,我將不勝感激。

如果同一自定義字段有多個條目,則嘗試獲取一個數組

get_post_meta( get_the_ID(), 'project_photo_photo' )

但是如果您將true用作最后一個參數,則您只會得到第一個值

get_post_meta( get_the_ID(), 'project_photo_photo', true )

您可以在此處獲取更多信息: http : //codex.wordpress.org/Function_Reference/get_post_meta

這就是為什么您每次都能獲得單一結果的原因。

同樣,您應該只查詢一次meta字段。 您已查詢3次,這花費了數據庫操作和時間。 調用一次,保存為變量,並根據需要使用盡可能多的內容。

您將為照片獲得一系列值。 您需要遍歷以獲取它們中的每一個。

我已經修改了您的代碼,希望我已經將forloop放置在適當的位置,如果沒有,請放置在適當的位置。

<?php  $project_photos = get_post_meta( get_the_ID(), 'project_photo_photo' );
    if ( $project_photos ) : ?>
            <div class="grid_gallery clearfix">
                <?php foreach( $project_photos as $project_photo ) { ?>
                <div class="grid_gallery_inner">
                    <figure class="gallery_item featured-thumbnail thumbnail single-gallery-item">
                        <a href="/wp-content/files_mf/<?php echo $project_photo; ?>" class="image-wrap" rel="prettyPhoto[gallery]">
                            <img class="project_photo_photo" width="260" src="/wp-content/files_mf/<?php echo $project_photo; ?>" alt="<?php the_title(); ?>" />
                        <span class="zoom-icon"></span>
                        </a>
                    </figure>
                </div>
                <?php } ?>
                <!--END .slider -->
            </div>
    <?php endif; ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM