Php 相关产品ACF WordPress
我没有使用WooCommerce插件,只是你的普通网站 我有一个页面,我需要让用户选择一些“相关产品” 现在,我正在使用ACF,并考虑使用Post_对象来允许用户选择产品 这需要做的,是得到产品名称,但也得到产品的形象和描述 我使用了来自ACF站点的这段代码,试图获取post对象标题Php 相关产品ACF WordPress,php,html,wordpress,advanced-custom-fields,Php,Html,Wordpress,Advanced Custom Fields,我没有使用WooCommerce插件,只是你的普通网站 我有一个页面,我需要让用户选择一些“相关产品” 现在,我正在使用ACF,并考虑使用Post_对象来允许用户选择产品 这需要做的,是得到产品名称,但也得到产品的形象和描述 我使用了来自ACF站点的这段代码,试图获取post对象标题 <?php $post_object = get_field('post_object'); if( $post_object ): // override $post $po
<?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; ?>
Post对象自定义字段:
但即使这样也不会显示任何东西
是否有任何人可以看到的明显问题?由于您允许多个选择,因此“获取”字段将返回一个post对象数组。因此,您需要使用以下代码循环该数组。此代码假定您的帖子对象字段名为“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;
$related_products=get_字段(“related_products”);
如果($相关产品):?>
-
您允许多选吗?这会改变代码的工作方式,在回答之前我需要知道这一点。对不起,你是什么意思?在“相关产品”Post对象字段的字段设置中,有一个名为“选择多个值”的选项。您是否已将其设置为“是”或“否”。如果设置为“是”,并且您希望能够选择多个相关产品,这将更改您希望使用的代码。抱歉,是的,我将拥有多个:)这现在允许我添加一个产品,这非常好。但描述有所不同。我使用自定义的文章类型摘录进行描述,甚至仅仅是实际的描述都会很好。我需要基本上得到产品,从中,得到产品的描述。如果此解决方案解决了您的问题,请务必接受答案,以帮助其他有类似问题的人。对不起,按enter时出错!我对商业不太熟悉。产品描述是一个单独的自定义字段,还是仅仅是帖子的内容字段?我没有使用WooCommerce,它只是一个自定义帖子类型