<html lang="ja-jp" dir="ltr"><head></head><body>### [ユーザーインテリジェントタグをさらに作成する方法](https://wpforms.com/developers/how-to-create-more-user-smart-tags/)

**公開日:** 2021年3月24日
**著者:** エディトリアルチーム

**抜粋:** このチュートリアルでは、WPFormsで使用できるカスタムユーザーインテリジェントタグを作成して、WordPressユーザープロフィールから情報を取得する方法を説明します。

**コンテンツ:**

## はじめに

WordPressユーザープロフィールから情報を取得して、WPFormsで使用できるカスタムユーザーインテリジェントタグを作成したいですか？

[インテリジェントタグ](https://wpforms.com/docs/how-to-use-smart-tags-in-wpforms/ "WPFormsでのインテリジェントタグの使用方法")は、フォーム通知設定やフィールドのデフォルト値に挿入できるコードの一部です。このチュートリアルでは、すべてのデフォルトのWordPressユーザープロンプトのフォームを作成し、ユーザーが情報を確認できるようにページに表示します。

デフォルトでは、WPFormsには、**ユーザーID**、**表示名**、**ユーザーメタ**などのユーザー関連の[インテリジェントタグ](https://wpforms.com/docs/how-to-use-smart-tags-in-wpforms/ "WPFormsでのインテリジェントタグの使用方法")がすでにいくつか用意されています。

**ユーザーメタ**インテリジェントタグは、ソーシャルリンクやWordPressユーザープロフィールに追加されたカスタムフィールドなど、WordPressユーザープロフィールに追加されたカスタムフィールドの空白のカバレッジとして使用できます。

## 新しいユーザーインテリジェントタグの作成

まず、このコードスニペットをサイトに追加する必要があります。`wpforms_smart_tags`フィルターを使用する最初の関数がインテリジェントタグを作成します。`wpforms_smart_tag_process`フィルターを使用する2番目の関数がインテリジェントタグを定義します。

サイトへのコードスニペットの追加に問題がある場合は、[このチュートリアルを参照してください](https://wpforms.com/developers/how-to-add-custom-php-or-javascript-for-wpforms/ "WPForms用のカスタムPHPまたはJavaScriptの追加方法")。

```

/**
 * WordPressプロフィールからユーザーインテリジェントタグを作成します。
 *
 * @link   https://wpforms.com/developers/how-to-create-more-user-smart-tags/
 */

function wpf_dev_register_user_profile_smart_tags ( $tags ) {
 
    // キーはタグ、アイテムはタグ名です。
    $tags[ 'wp_nickname' ]     = 'WPプロフィールのニックネーム';
    $tags[ 'wp_username' ]     = 'WPプロフィールのユーザー名';
    $tags[ 'wp_url' ]          = 'WPプロフィールのURL';
    $tags[ 'wp_user_role' ]    = 'WPプロフィールのユーザーロール';
    $tags[ 'wp_user_bio' ]     = 'WPプロフィールの自己紹介';
     
    return $tags;
}
 
add_filter( 'wpforms_smart_tags', 'wpf_dev_register_user_profile_smart_tags', 10, 1 );

/**
 * WordPressプロフィールからユーザーインテリジェントタグを処理します。
 *
 * @link   https://wpforms.com/developers/how-to-create-more-user-smart-tags/
 */
 
function wpf_dev_process_user_profile_smart_tags( $content, $tag ) {
 
    $userID = get_current_user_id();
 
    // WordPressプロフィールからのニックネーム
    if ( 'wp_nickname' === $tag ) {
 
        $wp_nickname = get_the_author_meta( 'nickname', $userID );
		
        // ユーザーのWordPressプロフィールから取得したニックネームでタグを置き換えます。
        $content = str_replace( '{wp_nickname}', $wp_nickname, $content );
 
    }
 
    // WordPressプロフィールからのユーザー名
    if ( 'wp_username' === $tag ) {
 
        $wp_username = get_the_author_meta( 'user_login', $userID );
		
        // ユーザーのWordPressプロフィールから取得したユーザー名でタグを置き換えます。
        $content = str_replace( '{wp_username}', $wp_username, $content );
 
    }

    // WordPressプロフィールからのウェブサイトURL
    if ( 'wp_url' === $tag ) {
 
        $wp_url = get_the_author_meta( 'user_url', $userID );
		
        // ユーザーのWordPressプロフィールから取得したウェブサイトURLでタグを置き換えます。
        $content = str_replace( '{wp_url}', $wp_url, $content );
 
    }

    // WordPressプロフィールからの現在のロール
    switch ($tag) {
 
        case "wp_user_role":
        $user = wp_get_current_user();
        $roles = implode(', ', (array) $user-&gt;roles);
        $content = str_replace( '{' . $tag . '}', $roles, $content );
        break;
 
    }

    // WordPressプロフィールからの自己紹介
    if ( 'wp_user_bio' === $tag ) {
 
        $wp_user_bio = get_the_author_meta( 'description', $userID );
		
        // ユーザーのWordPressプロフィールから取得したユーザーの自己紹介でタグを置き換えます。
        $content = str_replace( '{wp_user_bio}', $wp_user_bio, $content );
 
    }
 
    return $content;
}
 
add_filter( 'wpforms_smart_tag_process', 'wpf_dev_process_user_profile_smart_tags', 10, 2 );
```

このスニペットは、**WPプロフィールのニックネーム**、**WPプロフィールのユーザー名**、**WPプロフィールのURL**、**WPプロフィールのユーザーロール**、および**WPプロフィールの自己紹介**を追加します。これらのインテリジェントタグは、フォームで使用して、ユーザーが確認できるように、すでにWordPressプロフィールにある情報を取得します。

#### フォームの作成

新しいインテリジェントタグを使用するためのフォームを作成する時間です。フォームの作成に問題がある場合は、[この記事を参照してください](https://wpforms.com/docs/creating-first-form/ "最初のフォームの作成")。

このフォームのほとんどのフィールドでは、**一行テキスト**フォームフィールドを追加するだけです。フィールドを追加してラベルを更新したら、**詳細設定**タブをクリックします。**デフォルト値**フィールドが表示され、**インテリジェントタグを表示**を選択し、追加した新しいインテリジェントタグのいずれかが見つかるまでスクロールします。正しいものを選択すると、そのインテリジェントタグがフィールドの**デフォルト値**に表示されます。

![カスタムユーザーインテリジェントタグをフィールドのデフォルト値に追加することで、この情報はユーザーのWordPressプロフィールから自動的に取得されます](https://wpforms.com/wp-content/uploads/2022/10/wpforms-default-value-smart-tags.jpg)

フィールドとインテリジェントタグは同じように追加し続けます。**自己紹介**フィールドの場合、自己紹介を表示するために**段落テキスト**フォームフィールドを使用しますが、**デフォルト値**フィールドにインテリジェントタグを追加する手順は、上記と同じです。

これで、ユーザーがこのフォームにアクセスすると、デフォルトで情報がすでに表示されていることがわかります。

![ユーザーがフォームを表示すると、情報がフィールドにすでに表示されていることがわかります](https://wpforms.com/wp-content/uploads/2022/10/wpforms-profile-form-smart-tags.jpg)

[カスタムインテリジェントタグの作成方法](https://wpforms.com/developers/how-to-create-a-custom-smart-tag/ "カスタムインテリジェントタグの作成方法")の記事を参照すると、他のインテリジェントタグの作成に関する詳細を確認できます。

これで、WPFormsでさらに多くのユーザーインテリジェントタグを作成するために必要なすべてが揃いました。これらのインテリジェントタグを**HTML /コードブロック**内で使用したいですか？[HTMLフィールドでインテリジェントタグを処理する方法](https://wpforms.com/developers/how-to-process-smart-tags-in-html-fields/ "HTMLフィールドでインテリジェントタグを処理する方法")のチュートリアルでは、PHPを使用してこのタイプのフォームフィールドでインテリジェントタグを許可する方法を説明します。

## 関連

フィルターリファレンス:

- [wpforms\_smart\_tags](https://wpforms.com/developers/wpforms_smart_tags/ "wpforms_smart_tagsフィルターの使用")
- [wpforms\_smart\_tag\_process](https://wpforms.com/developers/wpforms_smart_tag_process/ "wpforms_smart_tag_processフィルターの使用")

**カテゴリ:** チュートリアル

**タグ:** PHP、インテリジェントタグ

---</body></html>