← Back
Editing: WPCli.php
<?php /** * WP-CLI support. * * @package cyr-to-lat * @link https://github.com/mihdan/wp-rocket-cli/blob/master/command.php */ // phpcs:disable Generic.Commenting.DocComment.MissingShort /** @noinspection PhpUndefinedNamespaceInspection */ /** @noinspection PhpUndefinedClassInspection */ /** @noinspection PhpUndefinedFunctionInspection */ // phpcs:disable Generic.Commenting.DocComment.MissingShort namespace CyrToLat; use cli\progress\Bar; use WP_CLI; use WP_CLI\NoOp; use WP_CLI_Command; use function WP_CLI\Utils\make_progress_bar; /** * Class WPCli * * @class WPCli */ class WPCli extends WP_CLI_Command { /** * Converter class. * * @var Converter */ private Converter $converter; /** * WP_CLI constructor. * * @param Converter $converter Converter. */ public function __construct( Converter $converter ) { parent::__construct(); $this->converter = $converter; } /** * Regenerate old slugs. * * ## EXAMPLES * * $ wp cyr2lat regenerate * Success: Regenerate Completed. * * @subcommand regenerate * * @param array $args Arguments. * @param array $assoc_args Arguments in an associative array. * * @noinspection PhpUnusedParameterInspection */ public function regenerate( array $args = [], array $assoc_args = [] ): void { /** * Notify instance. * * @var Bar $notify */ $notify = $this->make_progress_bar(); $result = []; if ( ! empty( $assoc_args['post_status'] ) ) { $result['post_status'] = explode( ',', $assoc_args['post_status'] ); $result['post_status'] = array_values( array_filter( array_map( 'trim', $result['post_status'] ) ) ); } if ( ! empty( $assoc_args['post_type'] ) ) { $result['post_type'] = explode( ',', $assoc_args['post_type'] ); $result['post_type'] = array_values( array_filter( array_map( 'trim', $result['post_type'] ) ) ); } $this->converter->convert_existing_slugs( $result ); $notify->tick(); $notify->finish(); WP_CLI::success( 'Regenerate Completed.' ); } /** * Make a progress bar. * * @return Bar|NoOp */ protected function make_progress_bar() { return make_progress_bar( 'Regenerate existing slugs', 1 ); } }
Save File
Cancel