Generated WebP, avif -> Generated AVIF', 'plus-webp' ) . "\n"; $input_error_message .= __( 'optional argument mail(bool) : --mail=true -> Send results via email', 'plus-webp' ) . "\n"; $input_error_message .= __( 'optional argument pid(int) : --pid=12152 : Media ID(Conversion source ID) -> Process only specified Media ID.', 'plus-webp' ) . "\n"; $input_error_message .= __( 'optional argument quality(int) : --quality=90 : Specifies the quality of WebP or AVIF.', 'plus-webp' ) . "\n"; $input_error_message .= __( 'optional argument replace(bool) : --replace=false : WebP or AVIF replacement of images and contents.', 'plus-webp' ) . "\n"; $input_error_message .= __( 'optional argument addext(bool) : --addext=true : Append the webp or avif extension to the original filename.', 'plus-webp' ) . "\n"; $input_error_message .= __( 'optional argument types(string) : --types=image/png,image/gif : MIME type to convert.', 'plus-webp' ) . "\n"; if ( is_array( $args ) && ! empty( $args ) && ( 'webp' === $args[0] || 'avif' === $args[0] ) ) { $output = $args[0]; $pid = 0; if ( array_key_exists( 'pid', $assoc_args ) ) { $pid = intval( $assoc_args['pid'] ); } $mail = false; if ( array_key_exists( 'mail', $assoc_args ) ) { $mail = strtolower( sanitize_text_field( wp_unslash( $assoc_args['mail'] ) ) ); if ( 'true' === $mail ) { $mail = true; } else if ( 'false' === $addext ) { $mail = false; } else { WP_CLI::error( __( 'optional argument mail(bool) : Invalid value.', 'plus-webp' ) ); } } $pluswebp_settings_default = get_option( 'pluswebp' ); update_option( 'pluswebp_default', $pluswebp_settings_default ); $pluswebp_settings = $this->settings_change( $output, $assoc_args, $pluswebp_settings_default ); update_option( 'pluswebp', $pluswebp_settings ); if ( 0 < $pid ) { $metadata_org = wp_get_attachment_metadata( $pid ); delete_option( 'pluswebp_generate' ); do_action( 'wp_generate_attachment_metadata', $metadata_org, $pid ); $webp_id = get_option( 'pluswebp_generate' ); delete_option( 'pluswebp_generate' ); delete_option( 'pluswebp_default' ); update_option( 'pluswebp', $pluswebp_settings_default ); if ( $webp_id ) { $messages = array(); list( $message, $messages ) = apply_filters( 'pluswebp_mail_messages', $messages, $webp_id ); WP_CLI::success( $message ); if ( $mail ) { do_action( 'pluswebp_mail_generate_message', $messages, 1 ); } } else { $message = 'ID: ' . $pid . "\n"; $message .= __( 'This media ID has already been converted or is neither an image nor a madia.', 'plus-webp' ) . "\n"; $message .= "\n"; WP_CLI::warning( $message ); } } else { list( $post_ids, $no_file_ids ) = apply_filters( 'pluswebp_get_allimages', $pluswebp_settings['types'], $pluswebp_settings['output_mime'] ); if ( ! empty( $post_ids ) ) { $messages = array(); foreach ( $post_ids as $post_id ) { $metadata_org = wp_get_attachment_metadata( $post_id ); delete_option( 'pluswebp_generate' ); do_action( 'wp_generate_attachment_metadata', $metadata_org, $post_id ); $webp_id = get_option( 'pluswebp_generate' ); delete_option( 'pluswebp_generate' ); if ( $webp_id ) { list( $message, $messages ) = apply_filters( 'pluswebp_mail_messages', $messages, $webp_id ); WP_CLI::success( $message ); } } delete_option( 'pluswebp_default' ); update_option( 'pluswebp', $pluswebp_settings_default ); if ( ! empty( $no_file_ids ) ) { foreach ( $no_file_ids as $post_id ) { $message = 'ID: ' . $post_id . "\n"; $message .= __( 'Title', 'plus-webp' ) . ': ' . get_the_title( $post_id ) . "\n"; $message .= __( 'This media exists in the database, but the file does not, so the conversion was not performed.', 'plus-webp' ) . "\n"; $message .= "\n"; WP_CLI::warning( $message ); $messages[] = $message; } } if ( $mail ) { do_action( 'pluswebp_mail_generate_message', $messages, count( $post_ids ) ); } } else { $message = __( 'No media to convert.', 'plus-webp' ) . "\n"; $message .= "\n"; WP_CLI::warning( $message ); } } } else { WP_CLI::error( $input_error_message ); } } }