repository = $repository; } public function register(): void { if ( self::has_physical_file() ) { return; } add_filter( 'robots_txt', array( $this, 'append_rules' ) ); } public function append_rules( string $output ): string { $addition = RobotsTxtBuilder::build( $this->repository->get() ); if ( '' === $addition ) { return $output; } return rtrim( $output ) . "\n\n" . $addition . "\n"; } public static function has_physical_file(): bool { return file_exists( ABSPATH . 'robots.txt' ); } }