我有一个woocommerce的短代码,显示客户下的所有订单,它可以正常工作.然而,我得到了一段代码,它给了我以下信息:

在/home/vwzidcur/public_html/wp content/themes/astra child/woocommerce/woo shortcode中进行Notice:个数组到字符串的转换.第67行.在我文件的第67行,我有echo.

通过谷歌搜索和阅读官方php手册,我得出结论,这个问题可以通过内爆或使用foreach迭代$downloads数组来解决.我试过了,但没能.我对这方面还比较陌生,任何帮助都将不胜感激.

$customer = wc_get_orders(['customer_id' => get_current_user_id(),]);

foreach ( $customer as $order ) {
foreach ( $order->get_items() as $item_id => $item ) {

$downloads = $order->get_downloadable_items();

  if ($downloads){ 
  wc_get_template(
    'button-downloads-dashboard.php',
     array(
     'downloads'  => $downloads,
     ));
     }

echo '<div class="container_orders_img"> '. $downloads .' </div>';
}}

为了使问题简洁明了,我只输入了相关代码的一部分,省略了相信不应该影响的内容.不管怎样,这里是完整的代码:https://onecompiler.com/php/3xywvxhw7

Solution:多亏了Michael Krikorev,我找到了这个似乎有效的解决方案.它不会返回任何错误、警告或通知消息.

// Get product download button 
    $downloads = $order->get_downloadable_items();

     if(is_array($downloads)){
     foreach($downloads as $product){

     $new_var = '<a href="'. $product['download_url'] .'" target="_blank">Download</a>';
     }}

echo '<div class="container_orders_download"> '. $new_var .' </div>'

推荐答案

试试这样的东西;

// FIRST ALWAYS CHECK IF ITS AN ARRAY
if(is_array($downloads)){
  // START THE LOOP
  foreach($downloads as $product){
    // HERE YOU CHOOSE WHAT TO PRINT OF ALL THE DIFFERENT VARIABLES IN THE ARRAY
    echo '<div class="container_orders_img"><a href="'. $product['download_url'] .'" target="_blank">'. $product['product_name'] .' </a></div>';
  } // END LOOP
} // END IF ARRAY

Php相关问答推荐

Laravel中的通配符Undot数组

在Laravel中,如果我用session—put()存储一些信息,客户端浏览器是否可以使用这些信息?>

将带有值的属性添加到WooCommerce产品,保留现有属性

如何将对我的域的请求重定向到子文件夹中的索引,同时保留域URL并使用.htaccess?

如何减少Laravel分页中的链接数

如何限制WordPress自定义分类术语页面中的术语数量

当主页和帖子的缩略图相同时,如何减少主页和帖子的缩略图

我必须对所有的SQL查询使用预准备语句吗?

在WooCommerce获取所有具有全球产品属性品牌的简单产品

如何从WooCommerce checkout 帐单邮箱字段中删除星号?

从字符串转换日期和/或时间时,Laravel转换失败

升级到PHP 8.2后无法删除cURL Cookie文件

按类别层次 struct 过滤 Laravel 集合

在 PHP MySQL 中自动生成账单编号

wp_insert_post() 和 WordPress 中查询字符串的多个帖子

提交仅包含活动详细信息选项卡表单的主表单

PHP for each 函数打印 td

如何将子查询结果添加到学说 2 中主查询的末尾?

使用 v-for 的存储链接中的 Img src 在 Laravel vuejs 中不起作用

无法按今天加上 7 天显示数据库项目