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

目次

  • ソース
  • 関数

フック

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

ファンクション

    クラス

    SettingsPage

    Admin settings page

    ソース #ソース

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

    class SettingsPage
    {
        const OPTION_KEY = 'wcexics_options';
        const ENABLE_ITEMCSV_OPT = 'enable_itemcsv';
    
        /**
         * Creates settings page
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @return void
         */
        public static function init() {
            add_action('admin_init', [get_class(), 'registerSetting']);
            add_action('usces_action_shop_admin_menue', [get_class(), 'registerSettingsPage'], 20);
        }
    
        /**
         * Returns options array
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @return array
         */
        public static function getOptions() {
            return get_option(self::OPTION_KEY, [
                self::ENABLE_ITEMCSV_OPT => 'no',
            ]);
        }
    
        /**
         * Registers `wcexics_options` option names
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @return void
         */
        public static function registerSetting() {
            register_setting(self::OPTION_KEY, self::ENABLE_ITEMCSV_OPT);
        }
    
        /**
         * Registers settings page
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @return void
         */
        public static function registerSettingsPage() {
            add_submenu_page(
                USCES_PLUGIN_BASENAME,
                __('WCEX Item Combo-Set', 'wcexics'),
                __('COMBO-SET', 'wcexics'),
                'manage_options',
                'wcexics_settings_page',
                [get_class(), 'addSettingsPage']
            );
        }
    
        /**
         * Outputs settings page HTML
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @return void
         */
        public static function addSettingsPage() {
            if (!current_user_can('manage_options')) {
                wp_die(__('You do not have sufficient permissions to access this page.'));
            }
    
            if (isset($_POST['wcexics_update_options']) && (int)wp_unslash(sanitize_text_field($_POST['wcexics_update_options'])) === 1) {
                $opts = self::getOptions();
                if (isset($_POST[self::ENABLE_ITEMCSV_OPT])) {
                    $optv = trim(wp_unslash(sanitize_text_field($_POST[self::ENABLE_ITEMCSV_OPT])));
                    if ($optv === 'yes' || $optv === 'no') {
                        $opts[self::ENABLE_ITEMCSV_OPT] = $optv;
                    }
                }
    
                update_option(self::OPTION_KEY, $opts);
            }
    
            ?>
            <div class="wrap">
                <h1><?php esc_html_e('WCEX Item Combo-Set', 'wcexics'); ?></h1>
                <form method="post" action="">
                    <?php settings_fields(self::OPTION_KEY); ?>
                    <table class="form-table" role="presentation">
                        <?php self::enableItemCSVSection(); ?>
                    </table>
                    <input type="hidden" name="wcexics_update_options" value="1" />
                    <?php submit_button(); ?>
                </form>
            </div>
            <?php
        }
    
        /**
         * Adds radio buttons for enabling/disabling item CSV
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @return void
         */
        public static function enableItemCSVSection() {
            $opts = self::getOptions();
            ?>
            <tr>
                <th scope="row"><?php esc_html_e('Item CSV export/import', 'wcexics'); ?></th>
                <td>
                    <fieldset>
                        <label>
                            <input
                                name="<?php echo self::ENABLE_ITEMCSV_OPT; ?>"
                                type="radio"
                                value="yes"
                                <?php echo $opts[self::ENABLE_ITEMCSV_OPT] === 'yes' ? 'checked' : ''; ?>
                            />
                            <?php esc_html_e('Enabled') ?>
                        </label>
                        <br />
                        <label>
                            <input
                                name="<?php echo self::ENABLE_ITEMCSV_OPT; ?>"
                                type="radio"
                                value="no"
                                <?php echo $opts[self::ENABLE_ITEMCSV_OPT] === 'no' ? 'checked' : ''; ?>
                            />
                            <?php esc_html_e('Disabled') ?>
                        </label>
                    </fieldset>
                    <p class="description">
                        <?php _e('If enabled, importing requires certain columns to be present in the CSV file.', 'wcexics'); ?>
                    </p>
                </td>
            </tr>
            <?php
        }
    }
    

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


    関数 #関数

    Top ↑

    • addSettingsPage — Outputs settings page HTML
    • enableItemCSVSection — Adds radio buttons for enabling/disabling item CSV
    • getOptions — Returns options array
    • init — Creates settings page
    • registerSetting — Registers `wcexics_options` option names
    • registerSettingsPage — Registers settings page

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

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

    ※Amazon、Amazon.co.jp、Amazon Payおよびそれらのロゴは、Amazon.com,inc.またはその関連会社の商標です。

    © 2025 Aivec llc All Rights Reserved.