php 如何添加新的列与Meta数据到WooCommerce订阅表上我的帐户/订阅/页

voase2hg  于 2023-11-16  发布在  PHP
关注(0)|答案(1)|浏览(100)

我试图添加新的列到WooCommerce订阅表显示给用户上..我的帐户/订阅/页.我能够做到这一点的订单页面..我的帐户/订单/然而,由于某种原因,代码不工作的订阅页面.我认为我调用的过滤器是错误的.
我的代码看起来像这样:

function add_column_to_woo_subscriptions_table (){
if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) && 
     class_exists( 'WC_Subscriptions' ) ) {

    // Hook to add new columns to the subscriptions table
    add_filter( 'wcs_account_subscriptions_columns', 'custom_wcs_account_subscriptions_columns'  );

    // Function to add new columns
    function custom_wcs_account_subscriptions_columns( $columns ) {
        // Add new columns at the beginning
    
    $new_columns = array(
            'subscription_name'    => __( 'Name', 'woocommerce-subscriptions' ),
            'subscription_address' => __( 'Address', 'woocommerce-subscriptions' )
        );

        // Merge new columns with existing ones
        return array_merge( $new_columns, $columns );
    }

    // Hook to output data in the new columns
    add_action( 'woocommerce_my_account_my_subscriptions_column_subscription_name', 'custom_wcs_account_my_subscriptions_column_subscription_name' );
    add_action( 'woocommerce_my_account_my_subscriptions_column_subscription_address', 'custom_wcs_account_my_subscriptions_column_subscription_address' );

    // Function to output data for 'Name' column
    function custom_wcs_account_my_subscriptions_column_subscription_name( $subscription ) {
        // CALL to meta_data_1
    }

    // Function to output data for 'Address' column
    function custom_wcs_account_my_subscriptions_column_subscription_address( $subscription ) {
        // CALL to meta_data_2
    }
    
}
}

字符串
我希望在.. my-account/subscriptions/页面的subscriptions表中看到新列和Meta数据的值。
我找到的唯一解决方案是使用子主题模板:WordPress WooCommerce add new field in each row at /my-account/subscriptions/ page
如果可能的话,我宁愿在我的自定义插件中使用自定义函数来解决这个问题。
任何帮助都将不胜感激。谢谢,

cwxwcias

cwxwcias1#

为了解决这个问题,我在我的插件中创建了一个自定义模板,并使用wc_get_template过滤器来覆盖WC my-subscriptions.php模板。

相关问题