acf_str_replace()


WordPressのacf_str_replace()関数は、Advanced Custom Fields(ACF)プラグインで使用される関数で、文字列内の特定の部分を置換するために利用されます。この関数は、カスタムフィールドの値を動的に変更する際に役立ちます。

構文

acf_str_replace( string $search, string $replace, string $subject );

引数の説明:

  • $search (string) — 置換対象の文字列またはパターン。
  • $replace (string) — 置換後の文字列。
  • $subject (string) — 置換を行う対象の文字列。

例1: 基本的な文字列の置換

この例では、文字列内の特定の単語を置換します。

<?php echo acf_str_replace( '古いテキスト', '新しいテキスト', 'これは古いテキストです。' ); ?>

例2: カスタムフィールドの値を置換

カスタムフィールドの値を動的に置換する例です。

<?php echo acf_str_replace( '{field_name}', get_field('field_name'), 'このフィールドの値は {field_name} です。' ); ?>

例3: 複数の文字列を一度に置換

複数の文字列を一度に置換する例です。

<?php echo acf_str_replace( array( '{field1}', '{field2}' ), array( get_field('field1'), get_field('field2') ), 'フィールド1: {field1}, フィールド2: {field2}' ); ?>

例4: ショートコード内での使用

ショートコード内でacf_str_replace()を使用する例です。

<?php echo do_shortcode( '[my_shortcode]' . acf_str_replace( '{field}', get_field('field'), 'フィールドの値: {field}' ) . '[/my_shortcode]' ); ?>

例5: テンプレートファイル内での使用

テンプレートファイル内でacf_str_replace()を使用する例です。

<?php echo acf_str_replace( '{title}', get_the_title(), '投稿のタイトルは {title} です。' ); ?>

例6: 条件付き置換

条件に基づいて文字列を置換する例です。

<?php echo acf_str_replace( '{status}', ( get_field('status') ? '公開中' : '非公開' ), '現在のステータス: {status}' ); ?>

例7: 日付の置換

日付フィールドの値を置換する例です。

<?php echo acf_str_replace( '{date}', get_field('date'), 'イベントの日付: {date}' ); ?>

例8: リンクの置換

リンクを含む文字列を置換する例です。

<?php echo acf_str_replace( '{link}', '<a href="' . get_field('link') . '">こちら</a>', '詳細は {link} をクリックしてください。' ); ?>

注意点

  • acf_str_replace()は、ACFプラグインが有効化されている場合にのみ使用可能です。
  • 置換対象の文字列が存在しない場合、元の文字列がそのまま返されます。
  • 置換後の文字列にHTMLタグを含めることが可能ですが、セキュリティに注意してください。