php - Wordpress/Woocommerce 插件代码未显示
问题描述
我想向 Woocommerce 产品页面添加一些自定义元框。当我将此代码添加到 wc-meta-boxes-functions.php 文件时,它可以工作,但是当我将它添加到我的插件文件中时,它什么也不做。我究竟做错了什么?
namespace Inc\Base;
use Inc\Base\BaseController;
/**
*
*/
class WoocommerceController extends BaseController
{
function register(){
add_action('woocommerce_product_options_general_product_data', 'woocommerce_product_custom_fields');
// Save Fields
add_action('woocommerce_process_product_meta', 'woocommerce_product_custom_fields_save');
}
// Display Fields
function woocommerce_product_custom_fields()
{
global $woocommerce, $post;
echo '<div class="product_custom_field">';
// Custom Product Text Field
woocommerce_wp_text_input(
array(
'id' => '_custom_product_text_field',
'placeholder' => 'Custom Product Text Field',
'label' => __('Custom Product Text Field', 'woocommerce'),
'desc_tip' => 'true'
)
);
//Custom Product Number Field
woocommerce_wp_text_input(
array(
'id' => '_custom_product_number_field',
'placeholder' => 'Custom Product Number Field',
'label' => __('Custom Product Number Field', 'woocommerce'),
'type' => 'number',
'custom_attributes' => array(
'step' => 'any',
'min' => '0'
)
)
);
//Custom Product Textarea
woocommerce_wp_textarea_input(
array(
'id' => '_custom_product_textarea',
'placeholder' => 'Custom Product Textarea',
'label' => __('Custom Product Textarea', 'woocommerce')
)
);
echo '</div>';
}
}
解决方案
所以我找到了答案:你必须写add_action('woocommerce_product_options_general_product_data', array($this, 'woocommerce_product_custom_fields') );
谢谢你的答案!
推荐阅读
- java - 字母猜谜游戏 Java 中的“while 循环”
- airflow - Airflow 2.0 API 响应 403 禁止
- android - 为什么 TextView 未按编码对齐?
- php - RabbitMQQueue::createPayloadArray($job, $queue, $data = '') 的声明应该与 Queue::createPayloadArray($job, $data = '') 兼容
- kubernetes - 限制命名空间和端口内 pod 通信的网络策略
- android - Android-Firebase ChangeValueEventListener 停止为 Android API 27(版本 8.1 或更低版本)工作
- vue.js - StackBlitz Ionic 5 Vue 3 示例:导入错误,找不到文件 index.cjs.js
- android - 如何将“弃用”设置为 kotlin 类并忽略错误?
- c# - 无法在 CLI 中从 Entity Framework Core 模型生成控制器和视图
- tinymce - 无法保存 Tiny MCE 数据 | Laravel 8 Livewire