如何在 WP CLI 命令中强制设置参数
How to make arguments compulsory in WP CLI command
我想使用 WP CLI 删除 WooCommerce 订单。
我有 3 个参数(product_id、start_date、end_date)。如何检查命令中是否传递了所有 3 个参数?
我该如何做这样的事情?
if ( ! empty( ALL THE ARGS ) ) {
WP_CLI::success( "Success" );
} else {
WP_CLI::error( "args missing" );
}
下面是我的代码。
$delete_woo_orders = function( $args,$assoc_args ) {
WP_CLI::line( $assoc_args['product_id'] );
WP_CLI::line( $assoc_args['start_date'] );
WP_CLI::line( $assoc_args['end_date'] );
};
WP_CLI::add_command( 'delete_woo_orders', $delete_woo_orders );
这是我的命令:wp delete_woo_orders --product_id=1 --start_date="some_date" end_date="some_date"
你可以试试下面的代码:-
if( defined( 'WP_CLI' ) && WP_CLI ) {
function delete_order ( $args, $assoc_args ) {
global $wpdb;
if( $assoc_args['product_id'] && $assoc_args['start_date'] &&
$assoc_args['end_date'] ){
WP_CLI::success( "all args passed" ); // Success Message
}else{
WP_CLI::error( "args missing" ); // Failed Message
}
}
WP_CLI::add_command( 'delete_woo_orders', 'delete_order' );
}
我稍微修改了您的代码并检查了 $assoc_args 是否有价值,并显示了成功和错误消息。
我想使用 WP CLI 删除 WooCommerce 订单。
我有 3 个参数(product_id、start_date、end_date)。如何检查命令中是否传递了所有 3 个参数?
我该如何做这样的事情?
if ( ! empty( ALL THE ARGS ) ) {
WP_CLI::success( "Success" );
} else {
WP_CLI::error( "args missing" );
}
下面是我的代码。
$delete_woo_orders = function( $args,$assoc_args ) {
WP_CLI::line( $assoc_args['product_id'] );
WP_CLI::line( $assoc_args['start_date'] );
WP_CLI::line( $assoc_args['end_date'] );
};
WP_CLI::add_command( 'delete_woo_orders', $delete_woo_orders );
这是我的命令:wp delete_woo_orders --product_id=1 --start_date="some_date" end_date="some_date"
你可以试试下面的代码:-
if( defined( 'WP_CLI' ) && WP_CLI ) {
function delete_order ( $args, $assoc_args ) {
global $wpdb;
if( $assoc_args['product_id'] && $assoc_args['start_date'] &&
$assoc_args['end_date'] ){
WP_CLI::success( "all args passed" ); // Success Message
}else{
WP_CLI::error( "args missing" ); // Failed Message
}
}
WP_CLI::add_command( 'delete_woo_orders', 'delete_order' );
}
我稍微修改了您的代码并检查了 $assoc_args 是否有价值,并显示了成功和错误消息。