首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取ACF中页面的ID

获取ACF中页面的ID
EN

Stack Overflow用户
提问于 2018-08-28 06:07:39
回答 1查看 1.8K关注 0票数 0

我有一个非常简单的循环,我想在其中显示一些海报,一旦点击显示弹出与相关产品。我用一个自定义的post类型和ACF链接作为字段类型创建了它。

现在,在为我的自定义Post类型创建了这个ACF字段之后,我可以从Metabox中选择我想要的产品(我需要ID)

我的电流环

代码语言:javascript
复制
    <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>

虽然a href链接使用自定义字段工作,但我目前试图解决的问题是获取产品的实际ID,因为它似乎是使用data-id所必需的。我尝试添加get_permalink($postID),但是这似乎不起作用。请给我一些专家建议,谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-08-28 06:26:28

只需使用当前循环元素id。(默认的WordPress post对象id)

代码应该如下所示:

代码语言:javascript
复制
<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对象,按post类型设置筛选器(对于产品-> post类型product)和将返回类型设置为Post对象,然后就像->一样

代码语言:javascript
复制
$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和数据id属性化内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52051149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档