@tonkotsutaro ご提示頂いたコードを拝見しましたが、フィルターフックの意味が理解されていないようにお見受けします。
そもそも、[wc4jp_delivery_time_format]や[japanized_for_woocommerce_unselected_timezone_label]というフックは存在しないですが、何故このようなコードを書かれているのかが、ちょっと理解できません。
まずは、しっかりとコーディング(WordPressとPHPのお作法)の勉強をすることをお勧めしますが、フィルターフックを使う際には、そのフィルターフックがどこでどのような挙動をしているかをコードから把握する必要があります。
[wc4jp_delivery_time_zone]と[wc4jp_delivery_date] に関してはコードリーティングしていただければそこまで複雑ではないので理解いただけるはずなのですが、POST からデータを保存する際に変換することが出来るフックです。なので、例えば、「10:00-12:00」と POST されている内容を保存前に「1012」に変更することが出来ます。
一例としてコーディングを提示させていただきます。
add_filter( 'wc4jp_delivery_time_zone', 'custom_wc4jp_delivery_time_zone' );
function custom_wc4jp_delivery_time_zone( $post_time_zone ){
if( $post_time_zone == '10:00-12:00') $post_time_zone = '1012';
return $post_time_zone;
}
ちょっと案件ではないので、動作確認はしていませんが、これで動くはずです。order_metaとして保存されるのが「10:00-12:00」ではなく「1012」になるはずです。
このような簡単な変更の場合は、これで良いですが、データ加工や$orderオブジェクトから情報を抜き出して対応する場合は必ずサニタイズ処理を忘れないようにしてください。
まずはフィルターフックを利用する際には、他のプラグインや WordPressのコアも含めてですが、フック設定の apply_filters がどのような場所でどこで使われているのか、またどのような挙動かを必ず把握して利用してください。もし、それを行わなかった場合は、意図せぬ情報変更や情報漏洩の可能性も出てきます。特に個人情報を扱うネットショップのサイトでは損害賠償請求の対象となる可能性が非常に高くなりますので、ご注意ください。