• プラグイン一覧
    - WCEX Item Combo Set
    - WCEX Amazon Pay
    - WCEX Wishlist お気に入りリスト
  • リリース情報
  • お役立ちコラム
  • お問い合わせ
  • サポート
    • よくある質問
      • WCEX Amazon Pay
      • WCEX Wishlist お気に入りリスト
      • wcex-item-combo-set
    • リファレンス
      • WCEX Amazon Pay
      • WCEX Wishlist お気に入りリスト
      • wcex-item-combo-set
新規会員登録
ログイン
新規会員登録
ログイン
カート
  • プラグイン一覧
    • - WCEX Item Combo Set
    • - WCEX Amazon Pay
    • - WCEX Wishlist お気に入りリスト
  • リリース情報
  • お役立ちコラム
  • サポート
    • - よくある質問
      • - WCEX Amazon Pay
      • - WCEX Wishlist お気に入りリスト
      • - wcex-item-combo-set
    • - リファレンス
      • - WCEX Amazon Pay
      • - WCEX Wishlist お気に入りリスト
      • - wcex-item-combo-set
  • お問い合わせ
Aivec APPs > WCEX Amazon Pay > クラス > Welcart
レファレンス
バージョン
2.6.4
絞り込み:

目次

  • ソース
  • 関数

フック

  • アクション
  • フィルター

ファンクション

    クラス

    Welcart

    Displays custom customer or member fields

    ソース #ソース

    ファイル: src/Components/CustomFields/Templates/Welcart.php

    class Welcart
    {
        /**
         * Displays custom fields meta.
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @param array  $data
         * @param string $custom_field
         * @param string $position
         * @return void
         */
        public function uscesCustomFieldInput($data, $custom_field, $position) {
            $label = 'custom_' . $custom_field;
    
            $meta = usces_has_custom_field_meta($custom_field);
    
            $html = '';
            if (!empty($meta) && is_array($meta)) {
                foreach ($meta as $key => $entry) {
                    if ($custom_field === 'order' || $entry['position'] === $position) {
                        $name = $entry['name'];
                        $means = $entry['means'];
                        $essential = $entry['essential'];
                        $value = '';
                        if (is_array($entry['value'])) {
                            foreach ($entry['value'] as $k => $v) {
                                $value .= $v . "\n";
                            }
                        }
                        $value = usces_change_line_break($value);
    
                        $e = ($essential == 1) ? '<em>' . __('*', 'usces') . '</em>' : '';
                        /**
                         * Mirrored Welcart filter
                         *
                         * @ignore
                         */
                        $customlabel = apply_filters('usces_filter_custom_field_input_label', null, $key, $entry);
                        $html .= '
                            <tr class="customkey_' . $key . '">
                            <th scope="row">' . $e . esc_html($name) . $customlabel . '</th>';
                        /**
                         * Mirrored Welcart filter
                         *
                         * @ignore
                         */
                        $html .= apply_filters('usces_filter_custom_field_input_td', '<td colspan="2">', $key, $entry);
                        switch ($means) {
                            case 0: // シングルセレクト
                            case 1: // マルチセレクト NOTE: multi-select isnt an option for custom fields
                                $selects = explode("\n", $value);
                                $multiple = ($means == 0) ? '' : ' multiple';
                                $multiple_array = ($means == 0) ? '' : '[]';
                                $html .= '<select
                                    v-model="customFields[\'' . esc_attr($key) . '\'].value"
                                    name="' . $label . '[' . esc_attr($key) . ']' . $multiple_array . '"
                                    class="iopt_select"' . $multiple . '
                                >';
                                if ($essential == 1) {
                                    $html .= '
                                        <option value="#NONE#">' . __('Choose', 'usces') . '</option>';
                                }
                                foreach ($selects as $v) {
                                    $selected = (isset($data[$label][$key]) && $data[$label][$key] == $v) ? ' selected' : '';
                                    $html .= '
                                        <option value="' . esc_attr($v) . '"' . $selected . '>' . esc_html($v) . '</option>';
                                }
                                $html .= '
                                    </select>';
                                break;
                            case 2: // テキスト
                                $html .= '<input
                                    type="text"
                                    v-model="customFields[\'' . esc_attr($key) . '\'].value"
                                    name="' . $label . '[' . esc_attr($key) . ']"
                                />';
                                break;
                            case 3: // ラジオボタン
                                $selects = explode("\n", $value);
                                foreach ($selects as $v) {
                                    $checked = (isset($data[$label][$key]) && $data[$label][$key] == $v) ? ' checked' : '';
                                    $html .= '<label for="' . $label . '[' . esc_attr($key) . '][' . esc_attr($v) . ']" class="iopt_label">';
                                    $html .= '<input
                                        type="radio"
                                        v-model="customFields[\'' . esc_attr($key) . '\'].value"
                                        name="' . $label . '[' . esc_attr($key) . ']"
                                        id="' . $label . '[' . esc_attr($key) . '][' . esc_attr($v) . ']"
                                        value="' . esc_attr($v) . '"' . $checked . '
                                    >';
                                    $html .= esc_html($v) . '</label>';
                                }
                                break;
                            case 4: // チェックボックス
                                $selects = explode("\n", $value);
                                foreach ($selects as $v) {
                                    if (isset($data[$label][$key]) && is_array($data[$label][$key])) {
                                        $checked = (isset($data[$label][$key]) && array_key_exists($v, $data[$label][$key])) ? ' checked' : '';
                                    } else {
                                        $checked = (isset($data[$label][$key]) && $data[$label][$key] == $v) ? ' checked' : '';
                                    }
                                    $html .= '<label for="' . $label . '[' . esc_attr($key) . '][' . esc_attr($v) . ']" class="iopt_label">';
                                    $html .= '<input
                                        type="checkbox"
                                        v-model="customFields[\'' . esc_attr($key) . '\'].value[\'' . esc_attr($v) . '\']"
                                        name="' . $label . '[' . esc_attr($key) . '][' . esc_attr($v) . ']"
                                        id="' . $label . '[' . esc_attr($key) . '][' . esc_attr($v) . ']"
                                        value="' . esc_attr($v) . '"' . $checked . '
                                    >';
                                    $html .= esc_html($v) . '</label>';
                                }
                                break;
                            case 5: // Text-area
                                $html .= '<textarea
                                    v-model="customFields[\'' . esc_attr($key) . '\'].value"
                                    name="' . $label . '[' . esc_attr($key) . ']"
                                    class="iopt_textarea"
                                ></textarea>';
                                break;
                        }
                        /**
                         * Mirrored Welcart filter
                         *
                         * @ignore
                         */
                        $html .= apply_filters('usces_filter_custom_field_input_value', null, $key, $entry) . '</td>';
                        $html .= '
                            </tr>';
                    }
                }
            }
            if (!empty($html)) {
                $html = '<table class="customer_form" id="' . esc_attr('custom_' . $custom_field) . '">' . $html . '</table>';
            }
            /**
             * Filters the custom fields HTML shown on the Quickpay page
             *
             * @param string $html
             * @param array  $data
             * @param string $custom_field
             * @param string $position
             */
            $html = apply_filters('wcexaap_filter_custom_field_input', $html, $data, $custom_field, $position);
    
            echo stripslashes($html);
        }
    }
    

    ソースを伸ばす ソースを縮める


    関数 #関数

    Top ↑

    • uscesCustomFieldInput — Displays custom fields meta.

    • 新規会員登録
    • ログイン
      • プラグイン一覧
      • 会社概要
      • リリース情報
      • よくある質問
      • お役立ちコラム
      • お問い合わせ
      • 個人情報保護方針
      • 特定商取引法に基づく表記
      • 情報セキュリティ基本方針
      • 利用規約

    アイベック合同会社は「Welcart」「Amazon Pay」の公式パートナーです。

    ※Amazon、Amazon.co.jp、Amazon Payおよびそれらのロゴは、Amazon.com,inc.またはその関連会社の商標です。
    ※LINE Pay、およびLINE Pay 提携サービスのロゴは、法律上保護を受ける商標です。

    © 2025 Aivec llc All Rights Reserved.