为了账号安全,请及时绑定邮箱和手机立即绑定

从产品页面 woocommerce 上的 mysql 表回显自定义数据

从产品页面 woocommerce 上的 mysql 表回显自定义数据

PHP
DIEA 2023-04-15 10:48:13
亲爱的,我创建了一个 python 脚本,它从 MSSQL 导出数据并导入到 MySQL 数据库中。一切顺利。现在我想显示我添加的新列数据......但我没有任何 PHP 技能。数据在wc_product_meta_lookup table. 列名是dLieferdatum。的内容dLieferdatum是物品的估计可用日期。如果有任何想法如何在我的产品上显示它,我将不胜感激 :-)进一步注意:我已经构建了一个功能来显示某个项目是否可用。如果 dLieferdatum 不为 NULL,我想显示来自 dLieferdatum 的数据而不是“bestellbar”function show_stock() {    global $product;        // if manage stock is enabled        if ( $product->stock ) {              // if stock is low            if ( number_format($product->stock,0,'','') > 0 && number_format($product->stock,0,'','') < 7) {                 echo '<div class="less-available"><i class="fa fa-truck"></i> auf Lager</div>';                echo '<div class="ind_individual-delivery-time">Zustellung in 1 - 3 Werktagen</div>';             }                    // if more than 6 are available            if ( number_format($product->stock,0,'','') > 0 && number_format($product->stock,0,'','') > 6) {                 echo '<div class="available"><i class="fa fa-truck"></i> auf Lager</div>';                 echo '<div class="ind_individual-delivery-time">Zustellung in 1 - 3 Werktagen</div>';             }        }        if ( $product->managing_stock() && number_format($product->stock,0,'','') < 1) {            echo '<div class="backorder_item"><i class="fa fa-truck"></i> bestellbar</div>';                    }    }
查看完整描述

1 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

1)首先你试过在对象WC_Data get_meta()上使用方法WC_Product,比如:


$dLieferdatum = $product->get_meta( "dLieferdatum" );

不确定它会起作用。


2) 您还可以使用WPDBClass 在表上进行简单的 SQL 查询wp_wc_product_meta_lookup,并将该动态查询嵌入到自定义函数中,如下所示:


function get_product_meta_dLieferdatum( $product_id ) {

    global $wpdb;

    return $wpdb->get_var( $wpdb->prepare("

        SELECT dLieferdatum

        FROM {$wpdb->prefix}wc_product_meta_lookup

        WHERE product_id = '%d'

    ", $product_id ) );

}

来自变量的动态产品 ID 的用法$product_id:


 $dLieferdatum = get_product_meta_dLieferdatum( $product->get_id() );

它应该工作。


注意:您应该真正避免对默认的 Wordpress 和 Woocommerce 数据库表结构进行更改。相反,您应该将“dLieferdatum”添加为自定义产品元数据或将自定义表添加到数据库。


查看完整回答
反对 回复 2023-04-15
  • 1 回答
  • 0 关注
  • 86 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信