WooCommerce / WC供应商:在产品编辑表单中的标题后显示产品名称和元

时间:2020-05-07 07:43:47

标签: php wordpress woocommerce wcvendors

我正在使用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? 如果我有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,因为它在错误的位置。

0 个答案:

没有答案