In this article we are going to learn about WP_CLI::confirm() with associate argument.
Note: If you read some recent articles then you can skip some below steps that are related to plugin creation.
Register WP CLI Command Register WP CLI Command
Register PHP class WordPress_Examples_WP_CLI
e.g.
if ( ! class_exists( 'WordPress_Examples_WP_CLI' ) && class_exists( 'WP_CLI_Command' ) ) : class WordPress_Examples_WP_CLI extends WP_CLI_Command { } endif;
Here,
We have registered a new class WordPress_Examples_WP_CLI
and extend it with WP_CLI_Command
.
Add Examples
Command Add Examples
Command
Now let’s register the examples
. E.g.
WP_CLI::add_command( 'examples', 'WordPress_Examples_WP_CLI' );
Here,
We have used the function WP_CLI::add_command()
to register our examples
command.
The function WP_CLI::add_command()
accepts 2 parameters. The first parameter is the command name. Which is examples
in our case.
And second is a callback class which is WordPress_Examples_WP_CLI
.
Add confirm_with_flag
sub command Add confirm_with_flag
sub command
public function confirm_with_flag( $args, $assoc_args ) { WP_CLI::line( 'Hello' ); }
Here,
We have added a function confirm_with_flag()
with two parameters.
$args
contain the arguments.$assoc_args
contain the associate arguments.
Testing the Command Testing the Command
Open command prompt/terminal. Go to your WordPress setup. I have set up WordPress in D:\xampp\htdocs\dev.test
So, Execute the below commands:
cd D:\xampp\htdocs\dev.test
wp examples confirm_with_flag
You can see the output something like below:
? wp examples confirm_with_flag Hello
This command just shows the string Hello
.
Using WP_CLI::confirm() Using WP_CLI::confirm()
Its time use WP_CLI::confirm()
.
public function confirm_with_flag( $args, $assoc_args ) { WP_CLI::confirm( 'Do you want to proceed?' ); WP_CLI::line( 'Great! You have confirm to proceed!' ); }
Let’s execute the command wp examples confirm_with_flag
and type y
? wp examples confirm_with_flag Do you want to proceed? [y/n] y Great! You have confirm to proceed!
Here, We have seen the string Great! You have confirm to proceed! because we type y
and press the enter key.
Now, Let’s execute the command wp examples confirm_with_flag
and type n
? wp examples confirm_with_flag Do you want to proceed? [y/n] n
Here, By pressing a key n we have terminated the WP CLI command execution.
Now, We are going to add --yes
associate argument to avoid the [y/n]
user inputs.
If someone type --yes
and execute the command then we process the command execution. Otherwise, we ask the confirm message.
public function confirm_with_flag( $args, $assoc_args ) { // Confirm before proceed. $yes = isset( $assoc_args['yes'] ) ? true : false; if ( ! $yes ) { WP_CLI::confirm( 'Do you want to proceed?' ); } WP_CLI::line( 'Great! You have confirm to proceed!' ); }
Now execute command wp examples confirm_with_flag
? wp examples confirm_with_flag Do you want to proceed? [y/n] y Great! You have confirm to proceed!
Here, It works the same as recent work. Now, let’s try it by adding the associate argument --yes
like: wp examples confirm_with_flag --yes
? wp examples confirm_with_flag --yes Great! You have confirm to proceed!
Great! Now, The confirm message is not asking users to execute the command or not.
Such kind of flags will help us while debugging or when we intentionally want to execute the command.
Using WP_CLI::confirm() with an associate argument in WP CLI.
Tweet