在WooCommerce管理订单页面中添加产品固定链接

时间:2019-06-18 作者:dc09

我正在尝试使用以下代码在woocommerce管理订单页面上添加产品永久链接:

function fpd_custom_order_item_values($_product) {

$url = $_product->permalink;

echo \'<p>\'.$url.\'</p>\';
}
add_action( \'woocommerce_before_order_itemmeta\', \'fpd_custom_order_item_values\', 100, 1);
但是,这不会输出产品permalink。当我更换时$url = $_product->permalink; 具有$url = $_product->name;, 这个名字得到了回应。我做错了什么?

1 个回复
SO网友:Jacob Peattie

没有permalink 产品的属性。永久链接不存储在数据库中,因为它们是基于许多外部因素生成的。因此,需要使用函数来检索永久链接。在WooCommerce中,最好的方法是:

function fpd_custom_order_item_values($_product) {
    $url = $_product->get_permalink();

    echo \'<p>\' . esc_url( $url ) . \'</p>\';
}
add_action( \'woocommerce_before_order_itemmeta\', \'fpd_custom_order_item_values\', 100, 1);
此外,请确保正在转义输出。由于这是一个URL,请使用esc_url().