首页 > 解决方案 > WooCommerce / WC 供应商:在产品编辑表单中的标题后显示产品名称和元数据

问题描述

我正在使用 WC Vendors Pro,它可以让您从前端添加/编辑 WooCommerce 产品。现在我想在产品编辑表单的标题之后显示产品名称和元字段 (SKU)。

我添加了一个自定义函数,它以正确的方式显示虚拟数据:

add_action( 'wcvendors_before_product_form', 'vendor_dashboard_product_title_after_headline_product_form', 0 );
function vendor_dashboard_product_title_after_headline_product_form(){

    echo '<h3>Name</h3>';
    echo '<p>SKU</p>';

}

我的问题是,我不知道如何获取我正在编辑的产品的 ID。

我尝试使用以下内容:

$product = wc_get_product( $product_id );  
$product->get_name();

但它显示一个错误。我猜$product这不起作用,因为表单中没有$product_id(表单是普通页面)。

所以我查看了模板文件,它在开头显示了以下代码:

$title      = ( is_numeric( $object_id ) ) ? __( 'Save Changes', 'wcvendors-pro' ) : __( 'Add Product', 'wcvendors-pro' );
$page_title = ( is_numeric( $object_id ) ) ? __( 'Edit Product', 'wcvendors-pro' ) : __( 'Add Product', 'wcvendors-pro' );
$product    = ( is_numeric( $object_id ) ) ? wc_get_product( $object_id ) : null;
$post       = ( is_numeric( $object_id ) ) ? get_post( $object_id ) : null;

// Get basic information for the product
$product_title             = ( isset( $product ) && null !== $product ) ? $product->get_title() : '';
$product_description       = ( isset( $product ) && null !== $product ) ? $post->post_content : '';
$product_short_description = ( isset( $product ) && null !== $product ) ? $post->post_excerpt : '';
$post_status               = ( isset( $product ) && null !== $product ) ? $post->post_status : '';

我尝试使用$object_id. 但它是空的。即使我像这样将它添加到我的函数中:

function vendor_dashboard_product_title_after_headline_product_form($object_id){

也许这是错误的方式?!

有人知道我如何从我正在编辑的产品中获取产品 ID 吗?如果我有身份证,我可以让其余的工作。

编辑:

如果我使用另一个钩子,我可以使用$object_id. 这有效:

add_action( 'wcv_before_general_tab', 'vendor_dashboard_product_title_after_headline_product_form', 0 );
function vendor_dashboard_product_title_after_headline_product_form($object_id){

我的问题是,我不想使用钩子wcv_before_general_tab,因为它是错误的地方。

标签: phpwordpresswoocommercewcvendors

解决方案


推荐阅读