php - 在 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;
}
}
如果这是超级琐碎的道歉 - 仍在学习。并提前非常感谢。
解决方案
假设您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 );
推荐阅读
- c# - re-execute the MVC pipeline with another route from a resource filter
- javascript - 我的 wordpress 网站正在尝试加载 corehivejs.com,但我不知道为什么
- r - 按字符过滤,创建包含结果的列
- powershell - 从 jscript 调用 powershell 脚本并等待退出
- asp.net-mvc - HTTP 错误 500.19 - 将 Asp.net MVC web api 项目放入 Docker 容器时发生内部服务器错误
- javascript - 如何使用javascript中reduce函数中的属性值跳过重复对象?
- java - 服务器未能以有效的 HTTP 响应进行响应
- android - koin 将 CoroutineScope 作为 RoomDatabaseCallback 的依赖项传递
- composer-php - 尝试使用作曲家安装脚本
- bokeh - 如何使用交互式按钮实现选项卡生成器?