如何在插件中使用WooCommerce挂钩?这是我想要做的:
add_filter('woocommerce_edit_product_columns', 'pA_manage_posts_columns');
function pA_manage_posts_columns($columns, $post_type = 'product') {
global $woocommerce;
if ( in_array( $post_type, array( 'product') ) ) {
$columns['offering_price'] = __( 'offering price', 'your_text_domain' ); // this offering price title
$columns['offering_qty'] = __( 'Qty', 'your_text_domain' ); // add the quantity title
}
unset($columns['name']);
return $columns;
以下是我在插件中添加WooCommerce的方法:
$ds = DIRECTORY_SEPARATOR;
$base_dir = realpath(dirname(__FILE__) . $ds . '..') . $ds;
$file = "{$base_dir}woocommerce{$ds}woocommerce.php";
include_once($file);
仍无法从
获取输出print_r($woocommerce);
答案 0 :(得分:1)
你将钩子与回调混合在了一起。原始通话位于this file:
add_filter( 'manage_edit-product_columns', 'woocommerce_edit_product_columns' );
您的代码应为:
add_filter( 'manage_edit-product_columns', 'pA_manage_posts_columns', 15 );
function pA_manage_posts_columns( $columns )
{
global $woocommerce;
$columns['offering_price'] = __( 'offering price', 'your_text_domain' ); // this offering price title
$columns['offering_qty'] = __( 'Qty', 'your_text_domain' ); // add the quantity title
unset($columns['name']);
return $columns;
}
请注意,回调中没有post_type
参数。过滤器挂钩已经知道帖子类型是什么:manage_edit-product_columns
。
正如Obmerk Kronen pointed out所示,不需要包含任何WooCommerce文件,所有功能都可以使用。