add_query_arg()


WordPressのadd_query_arg()関数は、URLにクエリ引数を追加するために使用されます。この関数は、新しいクエリパラメータを既存のURLに追加したり、既存のクエリパラメータを変更したりするのに役立ちます。

構文

add_query_arg( $key, $value, $url );

引数の説明:

  • $key(string|array) — 追加または変更するクエリパラメータのキー。配列を指定することも可能。
  • $value(string) — クエリパラメータの値。$keyが配列の場合、この引数は無視されます。
  • $url(string) — クエリパラメータを追加するURL。省略した場合、現在のURLが使用されます。

例1: 単一のクエリパラメータを追加

この例では、URLに単一のクエリパラメータを追加します。

<?php echo add_query_arg( 'page', '2', 'http://example.com' ); ?>

例2: 複数のクエリパラメータを追加

この例では、URLに複数のクエリパラメータを追加します。

<?php echo add_query_arg( array( 'page' => '2', 'sort' => 'desc' ), 'http://example.com' ); ?>

例3: 現在のURLにクエリパラメータを追加

この例では、現在のURLにクエリパラメータを追加します。

<?php echo add_query_arg( 'page', '2' ); ?>

例4: 既存のクエリパラメータを変更

この例では、既存のクエリパラメータの値を変更します。

<?php echo add_query_arg( 'page', '3', 'http://example.com?page=2' ); ?>

例5: クエリパラメータを削除

この例では、クエリパラメータを削除します。

<?php echo remove_query_arg( 'page', 'http://example.com?page=2&sort=asc' ); ?>

例6: カスタム投稿タイプのアーカイブURLにクエリパラメータを追加

この例では、カスタム投稿タイプのアーカイブURLにクエリパラメータを追加します。

<?php echo add_query_arg( 'year', '2023', get_post_type_archive_link( 'book' ) ); ?>

例7: ページネーション用のクエリパラメータを追加

この例では、ページネーション用のクエリパラメータを追加します。

<?php echo add_query_arg( 'paged', '2', get_permalink() ); ?>

例8: カスタムタクソノミーのアーカイブURLにクエリパラメータを追加

この例では、カスタムタクソノミーのアーカイブURLにクエリパラメータを追加します。

<?php echo add_query_arg( 'genre', 'fiction', get_term_link( 'fiction', 'genre' ) ); ?>

注意点

  • URLエンコーディングが必要な場合、手動でエンコードする必要があります。
  • クエリパラメータの値が空の場合、そのパラメータはURLから削除されます。
  • URLが不正な場合、関数はfalseを返すことがあります。

関連機能: