質問: sanitize_titleはポストスラッグを生成するのに十分ですか? wordpressのスラグ生成フローを経由せずに、いくつかの文字列に対してスラグを生成したい。したがって、私はそれがきちんとしたスラグを取得するためにそれが呼び出す関数を知りたいです。 sanitize_title()を試しましたが、結果として%c2%a0のままになります。
回答: まあ、答えはもうありますが、私はそれを少し広げたいと思ったので、ここに私の発見があります:wp_insert_post()を見れば、$post_nameはwp_sanitize_title()を使用してサニタイズされます( wp-includes/post.php を参照)関数sanitize_title()には、フィルタsanitize_titleがあります。デフォルトのフィルタではsanitize_title_with_dashes()がこのフィルタにフックされているのでこれは面白いです( wp-includes/default-filters.php を見てください)。<?php echo sanitize_title( 'â+äößáèäç' ) // aaeoessaeaec ?> sanitize_title()を試しましたが、結果として%c2%a0のままになります。 これは奇妙に聞こえます。入力値を知ることは素晴らしいことですが、wp_insert_post() sanitize_title()に従うことで十分であるように思われます。