gpt4 book ai didi

php - 将 wc_get_product() 与用于产品 ID 的 PHP 变量一起使用

转载 作者:可可西里 更新时间:2023-11-01 13:19:03 24 4
gpt4 key购买 nike

我正在为 WooCommerce 中的产品构建自定义着陆页,我想获取产品价格等信息,以便在着陆页上显示它们。

每个着陆页都有一些自定义字段,允许 WP 管理员为着陆页和产品 ID 添加内容,然后将用于生成产品价格、结帐 URL 等。

我无法让 wc_get_product(); 使用我的自定义字段或基于它构建的变量。它仅在我使用直接 ID 时有效。我认为我不了解变量在 PHP 中的工作方式。这是我的代码。

<?php 

//Gets the course ID from the custom field entered by user
$courseID = the_field('course_id');

// This line is where the problem is...
$_product = wc_get_product('$courseID');

// If I replace the line above with this line
// $_product = wc_get_product('7217');
// everything works great, but that does not let
// each landing page function based on the custom fields where the user determines
// the product ID they are selling on that landing page.


// Get's the price of the product
$course_price = $_product->get_regular_price();

// Output the Course price
?> <span class="coursePrice">$<?php echo $course_price;?></span>

更新

我在使用 wc_get_product( $courseID );get_product( $courseID ); 时遇到以下错误:

Fatal error: Call to a member function get_regular_price() on a non-object in ... 

最佳答案

与您最近的评论相关的

更新探索的 2 种方式:

1) 而不是你应该尝试使用来获取产品对象(避免错误):

$courseID = the_field('course_id');

// Optionally try this (uncommenting)
// $courseID = (int)$courseID;

// Get an instance of the product object
$_product = new WC_Product($courseID);

2) 或者,如果这不起作用,您应该尝试使用 get_post_meta()以这种方式获取产品价格(或任何产品元数据)的函数:

<?php 
//Gets the course ID from the custom field entered by user
$courseID = the_field('course_id');

// Get the product price (from this course ID):
$course_price = get_post_meta($courseID, '_regular_price', true);

// Output the Course price
?> <span class="coursePrice">$<?php echo $course_price;?></span>

这次您应该会看到一个或其他解决方案的价格。


更新:可能您还需要将 $courseID 转换为整数变量。

因为您需要在 wc_get_product() 中使用您的变量 $courseID (没有 2 ')这样的功能:

<?php 

//Gets the course ID from the custom field entered by user
$courseID = the_field('course_id');

// Optionally try this (uncommenting)
// $courseID = (int)$courseID;

// Here
$_product = wc_get_product( $courseID );

$course_price = $_product->get_regular_price();

// Output the Course price
?> <span class="coursePrice">$<?php echo $course_price;?></span>

现在应该可以了。

关于php - 将 wc_get_product() 与用于产品 ID 的 PHP 变量一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41730193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com