首页 > 解决方案 > 在 Woocommerce 管理面板中显示自定义字段

问题描述

我现在对此束手无策,真的可以用手。

我在前端添加了一个表单,要求客户使用他们的 IRL 用户帐号注册,我已经设法将其存储在后端作为“morello_account_number”。现在我想在 Woocommerce 的订单页面上回显该帐号,以便我可以更轻松地处理订单,而无需手动搜索客户用户名等。我不是真正的 PHP 程序员,但到目前为止,这是我的代码:

    add_filter('manage_edit-shop_order_columns', 'morello_account_number_column' );
function morello_account_number_column( $order_columns ) {
    $order_columns['morello_account_number'] = "Morello Account Number";
    return $order_columns;
}



add_action( 'manage_shop_order_posts_custom_column' , 'morello_placeholder' );
function morello_placeholder( $colname ) {
    global $the_order; // the global order object

    if( $colname == 'morello_account_number' ) {
        $morello_account_number = $order->get_morello_account_number();

        echo morello_account_number;

    }

}

如果这是超级琐碎的道歉 - 仍在学习。并提前非常感谢。

标签: phpwordpresswoocommerce

解决方案


假设您update_post_meta before在以前的代码中使用过?

然后你可以应用以下

/**
 * Add columns
 */
function morello_account_number_column( $columns ) {
    $columns['morello_account_number'] = "Morello Account Number";
    return $columns;
}
add_filter('manage_edit-shop_order_columns', 'morello_account_number_column', 10, 1 );

/**
 * Populate columns
 */
function morello_placeholder( $column, $post_id ) {
    if( $column == 'morello_account_number' ) {
        // https://developer.wordpress.org/reference/functions/get_post_meta/
        $m_a_n = get_post_meta( $post_id, 'morello_account_number', true );

        // Value is found
        if ( !empty($m_a_n) ) {
            echo $m_a_n;    
        } else {
            echo 'something else';
        }
    }
}
add_filter( 'manage_shop_order_posts_custom_column', 'morello_placeholder', 10, 2 );

推荐阅读