簡體   English   中英

獲取ACF中的頁面ID

[英]Get ID of Page in ACF

我有一個非常簡單的循環,我想在其中顯示一些海報,並單擊以顯示相關產品的彈出窗口。 我已經使用自定義帖子類型和ACF頁面鏈接作為字段類型創建了此頁面。

在此處輸入圖片說明

現在,在為我的自定義帖子類型創建此ACF字段后,我可以從Metabox中選擇所需的產品(需要ID)

在此處輸入圖片說明

我當前的循環

    <ul class="products columns-5">
        <?php $args = array('post_type' => 'posters'); ?>
        <?php $loop = new WP_Query($args); ?>
        <?php if ( $loop->have_posts() ) : while ( $loop->have_posts() ) : $loop->the_post(); ?>
        <li class="product" style="width: 330px;">
           <div class="product-inner clearfix">
              <div class="mf-product-thumbnail">
                 <a href="<?php the_field('my_link'); ?>" data-id="<?php echo get_permalink($postID); ?>" class="mf-product-quick-view" tabindex="0"><img width="300" height="450" src="<?php echo get_the_post_thumbnail_url($post_id, 'full'); ?>" class="" alt=""></a>
              </div>
           </div>
        </li>
        <?php endwhile; ?>
        <?php else: ?>
        <?php endif; ?>
        <?php wp_reset_postdata(); ?>
    </ul>

雖然href鏈接使用自定義字段工作,但我目前正在嘗試解決的問題是獲取產品的實際ID,因為似乎需要使用data-id 我試圖添加get_permalink($ postID); 但是,這似乎不起作用。 一些專家的建議將不勝感激,謝謝。

只需使用當前循環元素ID。(默認的WordPress post對象ID)
代碼應如下所示:

<ul class="products columns-5">
        <?php $args = array('post_type' => 'posters'); ?>
        <?php $loop = new WP_Query($args); ?>
        <?php if ( $loop->have_posts() ) : while ( $loop->have_posts() ) : $loop->the_post(); 
 $id = $loop->post->ID;
?>
        <li class="product" style="width: 330px;">
           <div class="product-inner clearfix">
              <div class="mf-product-thumbnail">
                 <a href="<?php the_field('my_link'); ?>" data-id="<?php echo $id; ?>" class="mf-product-quick-view" tabindex="0"><img width="300" height="450" src="<?php echo get_the_post_thumbnail_url($post_id, 'full'); ?>" class="" alt=""></a>
          </div>
       </div>
    </li>
    <?php endwhile; ?>
    <?php else: ?>
    <?php endif; ?>
    <?php wp_reset_postdata(); ?>
</ul>

更新:
要獲得鏈接的產品鏈接和ID,只需將您的ACF字段類型更改為Post Object,按發布類型(對於product-> post type product )設置過濾器,然后將返回類型設置為Post object,然后執行->

$linked_product = get_field('my_link');
$id = $linked_product->$post_id;
$link = $linked_product-> (i dont know what object returned exactly just do "var_dump($linked_product)" to chek what is inside).

之后,更改href和data-id屬性內容 ACF字段設置

暫無
暫無

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

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