ホームページ > バックエンド開発 > PHPチュートリアル > WordPress URL で追加の変数を渡すにはどうすればよいですか?

WordPress URL で追加の変数を渡すにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-11 06:23:02
オリジナル
595 人が閲覧しました

How do I Pass Extra Variables in WordPress URLs?

WordPress の URL で追加の変数を渡す

WordPress では、URL を介して追加の変数を渡すときに問題が発生する場合があります。たとえば、「&c=123」を「/news」に追加しようとすると、ルート URL (www.example.com?c=123) に対してのみ機能しますが、URL に追加情報が含まれている場合は失敗します (www.example.com/news)。 ?c=123).

この問題に対処するために、WordPress は 3 つの重要な関数を提供します。

  • add_query_arg(): 新しいクエリ変数を使用して URL を作成します。
  • query_vars filter: WordPress の公開されているクエリ変数を変更します。
  • get_query_var(): URL 内のカスタム クエリ変数の値を取得します。

例:

。リンクを作成するかクエリ変数を設定するページ:

  • 現在のページへのリンクにクエリ変数を追加するには:
<a href="<?php echo esc_url(add_query_arg('c', $my_value_for_c)); ?>">
ログイン後にコピー
  • 別のページへのリンクにクエリ変数を追加するには:
<a href="<?php echo esc_url(add_query_arg('c', $my_value_for_c, site_url('/some_other_page/'))); ?>">
ログイン後にコピー

。 function.php またはプラグイン ファイル内:

function add_custom_query_var($vars) {
    $vars[] = "c";
    return $vars;
}
add_filter('query_vars', 'add_custom_query_var');
ログイン後にコピー

。クエリ変数を取得して使用したいページ:

$my_c = get_query_var('c');
ログイン後にコピー

バックエンド (wp-admin)

にアクセスするときバックエンド (wp-admin) では、メインの WP クエリは実行されないため、クエリ変数は使用できません。代わりに、次のアプローチを使用する必要があります:

$my_c = filter_input(INPUT_GET, "c", FILTER_SANITIZE_STRING);
ログイン後にコピー

以上がWordPress URL で追加の変数を渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート