相关产品 ACF WordPress

Posted

技术标签:

【中文标题】相关产品 ACF WordPress【英文标题】:Related Products ACF WordPress 【发布时间】:2015-07-27 08:24:51 【问题描述】:

我没有使用 WooCommerce 插件,只是您的普通网站。

我有一个页面,我需要让用户选择一些“相关产品”。

现在,我正在使用 ACF,并考虑使用 Post_Object 来允许用户选择产品。

这需要做的是获取产品名称,同时获取产品图像和描述。

我已使用 ACF 网站上的这段代码来尝试获取帖子对象的标题。

    <?php

$post_object = get_field('post_object');

if( $post_object ): 

    // override $post
    $post = $post_object;
    setup_postdata( $post ); 

    ?>
    <div>
        <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
        <span>Post Object Custom Field: <?php the_field('field_name'); ?></span>
    </div>
    <?php wp_reset_postdata(); // IMPORTANT - reset the $post object so the rest of the page works correctly ?>
<?php endif; ?>

但即使这样也不会显示任何内容?

是否有任何人可以看到的明显问题?

【问题讨论】:

您允许多选吗?这可能会改变代码的工作方式,在我回答之前我需要知道这一点。 对不起,你什么意思? 在您的“相关产品”帖子对象字段的字段设置中,有一个名为“选择多个值?”的选​​项。您是否将其设置为是或否。如果设置为是,并且您希望能够选择多个相关产品,这将更改您要使用的代码。 抱歉,是的,我将拥有不止 1 个 :) 【参考方案1】:

由于您允许多选,get_field 将返回一个帖子对象数组。因此,您需要使用以下代码遍历该数组。此代码假定您的帖子对象字段名为“related_products”,然后调用帖子的摘录值,该值将首先检查摘录字段,如果不存在,则会从帖子的内容生成摘录。

    $related_products = get_field('related_products');

    if( $related_products ): ?>
            <ul>
            <?php foreach( $related_products as $post): // variable must be called $post (IMPORTANT) ?>
                    <?php setup_postdata($post); ?>
                    <li>
                            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                            <?php the_excerpt(); ?>
                    </li>
            <?php endforeach; ?>
            </ul>
            <?php wp_reset_postdata(); // IMPORTANT - reset the $post object so the rest of the page works correctly ?>
    <?php endif;

【讨论】:

这现在让我可以 dd 一个产品,这很棒。不过描述不一样。我使用自定义帖子类型摘录进行描述,甚至只是实际描述都会很棒。我需要基本上得到产品,并由此得到产品的描述 太棒了。如果此解决方案解决了您的问题,请务必接受答案,以帮助其他有类似问题的人。 对不起,按错了! 我对 woocommerce 不太熟悉。产品描述是单独的自定义字段,还是只是帖子的内容字段? 我没有使用 WooCommerce,它只是一个自定义帖子类型

以上是关于相关产品 ACF WordPress的主要内容,如果未能解决你的问题,请参考以下文章

在 WooCommerce 订单管理页面 (ACF) 中输出产品自定义字段

WooCommerce 产品上的 ACF 字段未显示

php 通过函数文件向woocommerce产品添加acf字段

php 通过函数文件向woocommerce产品添加acf字段

php WordPress地理产品。取决于ACF的位置元素。替换产品搜索以包括距离查询。

将 ACF 字段插入 CSS 伪元素