我在我的 WordPress 网站上使用 WooCommerce 产品供应商插件。每个供应商都有自己的供应商资料。我想在每个供应商产品上显示作者元数据,例如 LinkedIn、facebook、wikipedia 等。
社交资料数据存储在常规 WordPress 用户资料中。如果您在 WP 安装上创建新用户,您应该在联系信息表单表下看到 facebook 个人资料 URL、维基百科、LinkedIn 等。因此,每个用户只需在他们的 WordPress 个人资料中输入他们的社交个人资料。
我是 PHP 新手,所以可能是一个非常基本的问题。我试图通过大量的跟踪和错误使我的代码工作。但是,当我尝试从标题中获取用户 ID 时,我的代码遇到了死胡同。
如果我做 var_dump( $vendor_data ); 我得到了我需要的所有用户信息:
array(1) { [63]=> array(21) { ["notes"]=> string(0) "" ["logo"]=> string(0) "" ["profile"]=> string(0) "" ["email"]=> string(0) "" ["admins"]=> array(1) { [0]=> int(20) } ["commission"]=> int(70) ["commission_type"]=> string(10) "percentage" ["paypal"]=> string(0) "" ["timezone"]=> string(5) "UTC+2" ["enable_bookings"]=> string(2) "no" ["per_product_shipping"]=> string(2) "no" ["instant_payout"]=> string(2) "no" ["term_id"]=> int(63) ["name"]=> string(9) "Tobias M." ["slug"]=> string(8) "tobias-m" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(63) ["taxonomy"]=> string(20) "wcpv_product_vendors" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(2) } }
使用上面的 var_dump,我将第 11 行更改为:
$vendor_data[ $vendor_id ] = WC_Product_Vendors_Utils::get_vendor_data_by_id( $vendor_id )->name;`
在做了一些研究之后,我发现 -> 无效,因为 -> 意味着我正在访问一个对象,但就我而言,我需要从数组中检索数据。因此我尝试了这样的事情,但仍然没有运气:
// get vendor data
$vendor_data = WC_Product_Vendors_Utils::get_vendor_data_by_id( $vendor_id['name'] );
$name = $vendor_data['name'];
茅侃侃