ご注意!

この記事には PHP コードが含まれており、開発者を対象としています。このコードは便宜上提供していますが、コードのカスタマイズやサードパーティの開発についてはサポートを提供していません。

追加のガイダンスについては、WPBeginner の カスタムコードの追加方法に関するチュートリアル を参照してください。

閉じる

WordPressリライトルールでスマートタグを使用する方法

WPFormsのスマートタグをWordPressのリライトルールで使用しますか?カスタム投稿タイプがあり、WPFormsの送信からキャプチャしたメールアドレスをリライトルールに渡して表示したい場合があります。このチュートリアルでは、これを簡単に実現できるPHPスニペットを紹介します。

URLリライトルールは、標準的なURLを受け取り、その表示を変更します。ページの場所を変更するのではなく、訪問者のブラウザウィンドウに表示されるURLの見た目だけを変更します。

URLリライトルールの理解

URLリライトルールは、実際のページの場所を変更せずに、ブラウザでのURLの表示方法を変更します。よりユーザーフレンドリーでSEOに優しいURLを作成するのに役立ちます。リライトルールに関する詳細については、WordPress.orgのURLリライティングに関するドキュメントをご覧ください。

シナリオ例

このガイドでは、写真家がWPFormsのアップロードフォームを通じて画像を送信する写真ポートフォリオシステムを作成します。各写真家には固有のポートフォリオページが与えられ、URL構造はメールアドレスを識別に使用します。

リライトルールの設定

まず、カスタムリライトルールを作成します。

add_rewrite_rule(
'portfolio/vendor/1/([a-zA-Z0-9]+)/?$',
'index.php?pagename=portfolio-vendor&email_address=$matches[1]',
'top' );

フォームの作成

次に、フォームを設定します。このチュートリアルではアップロードを受け付けるため、WPForms Post Submissionsアドオンを使用して新しい投稿送信フォームを作成します。

投稿送信フォームの設定にヘルプが必要な場合は、Post Submissionアドオンを使用したフォームの作成に関するガイドを参照してください。

リライトルールを構築するために、Emailスマートタグをクエリ文字列に渡す必要があります。これを行うには、Emailフォームフィールドの詳細設定タブをクリックし、デフォルト値にスマートタグ{query_var key="email-address"}を追加します。

メールアドレスのクエリ変数スマートタグを追加する

スマートタグ処理コードの追加

次に、コードスニペットをサイトに追加します。

カスタムコードの追加方法がわからない場合は、コードスニペットの追加方法に関するガイドを参照してください。

これにより、ブラウザに表示されるURLがhttps://example-site.com/?pagename=portfolio-vendor&[email protected]のようになる代わりに、https://example-site.com/portfolio/vendor/1/[email protected]/のように表示されるようになります。

このコードは、メールアドレスのカスタムクエリ変数を登録し、スマートタグがリライトルールで機能するように処理し、機能を維持しながらクリーンなURLを維持します。

これで完了です!WordPressのリライトルール内でスマートタグを使用できるようになりました。カスタムスマートタグを作成しますか?詳細については、カスタムスマートタグの作成に関するチュートリアルをご覧ください。

参照フィルター

wpforms_process_smart_tags