• プラグイン一覧
    - 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-item-combo-set > クラス > Item
レファレンス
バージョン
1.0.6
絞り込み:

目次

  • ソース
  • 関数

フック

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

ファンクション

    クラス

    Item

    新規商品追加 and 商品情報編集 combo-set app

    ソース #ソース

    ファイル: src/Admin/Pages/Item/Item.php

    class Item
    {
        const SCRIPT_SLUG = 'wcexics-admin-item';
    
        /**
         * Master object
         *
         * @var Master
         */
        private $master;
    
        /**
         * Injects `Master`
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @param Master $master
         * @return void
         */
        public function __construct(Master $master) {
            $this->master = $master;
        }
    
        /**
         * Registers hooks
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @return void
         */
        public function init() {
            add_filter('usces_item_master_first_section', [$this, 'delegateAssetsLoad'], 11, 2);
            add_filter('usces_filter_sku_meta_row', [get_class(), 'addComboApp'], 10, 2);
        }
    
        /**
         * Delegates to load method
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @param null $null
         * @param int  $post_id
         * @return void
         */
        public function delegateAssetsLoad($null, $post_id) {
            $this->load($post_id);
        }
    
        /**
         * Loads settings page assets
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @param int $post_id
         * @return void
         */
        public function load($post_id) {
            // scripts
            wp_enqueue_script('jquery-ui-sortable');
            $assetsmap = include(WCEXICS_DIST_JS_DIR . '/Admin/Pages/Item/App.asset.php');
            wp_enqueue_script(
                self::SCRIPT_SLUG,
                WCEXICS_DIST_JS_URL . '/Admin/Pages/Item/App.js',
                array_merge($assetsmap['dependencies'], ['jquery-ui-sortable']),
                $assetsmap['version'],
                true
            );
            Snackbar::load([self::SCRIPT_SLUG]);
    
            // styles
            Loader::loadCoreCss();
            /**
             * It's unclear how you are supposed to load the admin theme for components that are used
             * outside of the block editor... so we just load the `wp-block-editor` styles so that the
             * admin theme is correctly applied to our components.
             *
             * IS THERE NO WAY TO DO THIS GUTENBERG???
             */
            wp_enqueue_style('wp-block-editor');
            wp_enqueue_style('wp-components');
            wp_enqueue_style(
                self::SCRIPT_SLUG,
                WCEXICS_PLUGIN_URL . '/src/Admin/Pages/Item/combo-set-app.css',
                [],
                WCEXICS_VERSION
            );
    
            // injections
            wp_set_script_translations(self::SCRIPT_SLUG, 'wcexics', WCEXICS_LANG_DIR);
            wp_localize_script(
                self::SCRIPT_SLUG,
                'wcexics',
                array_merge(
                    [
                        'multiSelectText' => __('Multi-select', 'usces'),
                        'requiredText' => __('Required', 'usces'),
                        'skuCodeText' => __('SKU code', 'usces'),
                        'skuDisplayNameText' => __('SKU display name ', 'usces'),
                        'currencySymbol' => __('dollars', 'usces'),
                        'welitems' => Utils::getAllPublishedWelcartItems(),
                        'combos' => API\ComboSet::getAllComboSetsForPostId($post_id),
                        'postId' => $post_id,
                        'domElements' => DomElementIdentifiers::getConstantsMap(),
                    ],
                    $this->master->getScriptInjectionVariables()
                )
            );
        }
    
        /**
         * Adds item combo registration React app
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @param string $extras
         * @param array  $sku
         * @return string
         */
        public static function addComboApp($extras, $sku) {
            ob_start();
            ?>
            <tr>
                <td
                    class="td_<?php echo esc_attr(Master::REACT_DOM_NODE); ?>"
                    id="td_<?php echo esc_attr(Master::REACT_DOM_NODE . '_' . $sku['meta_id']); ?>"
                    colspan="5"
                >
                    <div
                        class="<?php echo esc_attr(Master::REACT_DOM_NODE); ?>"
                        id="<?php echo esc_attr(Master::REACT_DOM_NODE . '_' . $sku['meta_id']); ?>"
                        data-sku-meta-id="<?php echo esc_attr($sku['meta_id']); ?>"
                    ></div>
                </td>
            </tr>
            <?php
            $react = ob_get_clean();
    
            return $extras . $react;
        }
    }
    

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


    関数 #関数

    Top ↑

    • __construct — Injects `Master`
    • addComboApp — Adds item combo registration React app
    • delegateAssetsLoad — Delegates to load method
    • init — Registers hooks
    • load — Loads settings page assets

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

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

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

    © 2025 Aivec llc All Rights Reserved.