php - 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
,因为它是错误的地方。
解决方案
推荐阅读
- python - 不同的实例是否共享类中声明的相同方法?
- javascript - Firebase 身份验证不适用于 html 表单元素
- json - npm install --global(对于 package.json 的所有依赖项)
- assembly - 更改堆栈组件中的值
- dockerfile - 为什么这个入口点不正确?
- python - 对抗判别域适应(ADDA)
- c# - 无法在 WPF 上正确检查填充状态
- javascript - 倒计时时钟复位
- google-cloud-platform - 如何从 stackdriver 日志中触发 google 函数,类似于我们在 AWS 中使用 cloudwatch 事件触发 lambda 的方式?
- laravel - 在 Laravel 中以嵌套样式获取单个表数据