WPMLは多くの言語の国旗を提供していますが、必要に応じて独自の国旗画像を使用することもできます。
WPMLには、あらかじめ設定された全65言語用の組み込みの国旗に加え、国別の一般的な言語バリアント(カナダフランス語、ブラジルポルトガル語、スイスドイツ語など)用の国旗が用意されています。これらの国旗は、以下のファイルパスでSVGまたはPNGファイルとして利用できます。
../wp-content/plugins/sitepress-multilingual-cms/res/flags

しかし、サイトにより合った別のスタイルの国旗を使用したい場合もあるでしょう。または、WPMLにあらかじめ設定されていない言語の国旗を追加したい場合もあるかもしれません。このような場合、カスタム国旗をアップロードできます。
カスタム国旗の要件
独自の国旗はSVGファイルとしてアップロードできます。WPMLがカスタム国旗として受け付ける形式はSVGのみで、ファイルサイズは100KB以下である必要があります。
この操作にSVGのアップロードを許可するプラグインは必要ありません。WPMLは国旗を、WordPressのメディアライブラリではなくwp-content/uploads/flags/に保存します。
WPMLのデフォルトの国旗と並べた際に適切に表示されるようにするには、SVGソースファイルが18x12ピクセルであることを確認する必要もあります。viewBoxには、次のような比例した任意の値を指定できます。
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="12" fill="none" viewBox="0 0 36 24">...</svg>
カスタム国旗を追加する方法
WPML → 設定 → 言語に移動します。サイト言語の管理と非表示セクションで、国旗を変更する言語の行にある編集をクリックします。ここでは、サイトにカスタム言語を追加することもできます。

その行の国旗ピッカーを開きます。WPMLの国旗、中立的な地球儀、国コードのいずれかを選べるほか、最後の項目にUpload a custom SVG…があります。これを選択してファイルを選びます。

国旗ファイルをアップロードし、保存をクリックして言語スイッチャーに国旗を追加します。
国旗のサイズの調整
言語スイッチャーの追加または編集を行う際に、言語スイッチャー内のすべての国旗にカスタムサイズを指定できます。

言語スイッチャーブロックを使用している場合、ブロック設定から国旗のサイズを変更できます。

国旗に特定のサイズを設定しない場合、一貫性を保つためにPNGおよびJPGの国旗は自動的に18×12ピクセルにサイズ変更されます。CSSやJavaScriptで国旗を処理している場合や、アニメーションGIFを表示したい場合は、サイズ変更を行いたくないこともあるでしょう。
そのような場合は、wp-config.phpファイルに以下を追加することで、自動サイズ変更をオフにできます。
define( 'WPML_DO_NOT_RESIZE_UPLOADED_FLAGS', true );