WooCommerce Code Reference

WC_Settings_Shipping extends WC_Settings_Page
in package

WC_Settings_Shipping.

Table of Contents

TYPE_CHECKBOX  = 'checkbox'
TYPE_COLOR  = 'color'
TYPE_DATE  = 'date'
TYPE_DATETIME  = 'datetime'
TYPE_DATETIME_LOCAL  = 'datetime-local'
TYPE_EMAIL  = 'email'
TYPE_IMAGE_WIDTH  = 'image_width'
TYPE_INFO  = 'info'
TYPE_MONTH  = 'month'
TYPE_MULTI_SELECT_COUNTRIES  = 'multi_select_countries'
TYPE_MULTISELECT  = 'multiselect'
TYPE_NUMBER  = 'number'
TYPE_PASSWORD  = 'password'
TYPE_RADIO  = 'radio'
TYPE_RELATIVE_DATE_SELECTOR  = 'relative_date_selector'
TYPE_SECTIONEND  = 'sectionend'
TYPE_SELECT  = 'select'
TYPE_SINGLE_SELECT_COUNTRY  = 'single_select_country'
TYPE_SINGLE_SELECT_PAGE  = 'single_select_page'
TYPE_SINGLE_SELECT_PAGE_WITH_SEARCH  = 'single_select_page_with_search'
TYPE_SLOTFILL_PLACEHOLDER  = 'slotfill_placeholder'
TYPE_TEL  = 'tel'
TYPE_TEXT  = 'text'
TYPE_TEXTAREA  = 'textarea'
TYPE_TIME  = 'time'
TYPE_TITLE  = 'title'
Setting field types.
TYPE_URL  = 'url'
TYPE_WEEK  = 'week'
$icon  : string
Setting page icon.
$id  : string
Setting page id.
$label  : string
Setting page label.
__construct()  : mixed
Constructor.
add_settings_page()  : array<string|int, mixed>|mixed
Add this page to settings.
add_settings_slot()  : mixed
Creates the React mount point for settings slot.
add_settings_ui_body_class()  : string
Add a body class for settings pages rendered through the settings UI.
get_id()  : string
Get settings page ID.
get_label()  : string
Get settings page label.
get_sections()  : array<string|int, mixed>
Get all sections for this page, both the own ones and the ones defined via filters.
get_settings()  : array<string|int, mixed>
Get settings array for the default section.
get_settings_for_section()  : array<string|int, mixed>
Get settings array.
get_settings_ui_page()  : SettingsUIPageInterface|null
Get the settings UI page adapter for this settings page.
output()  : mixed
Output the settings.
output_sections()  : mixed
Output sections.
save()  : mixed
Save settings.
do_update_options_action()  : mixed
Trigger the 'woocommerce_update_options_'.id action.
get_own_sections()  : array<string|int, mixed>
Get own sections.
get_region_options()  : mixed
Get all available regions.
get_settings_for_options_section()  : array<string|int, mixed>
Get settings for the options section.
get_settings_for_section_core()  : array<string|int, mixed>
Get the settings for a given section.
get_settings_section_registry()  : SettingsSectionRegistry|null
Settings section registry instance, or null when the modern settings SDK is unavailable.
get_settings_ui_request_context()  : SettingsUIRequestContext|null
Settings UI request context, or null when the modern settings SDK is unavailable.
get_shipping_methods()  : array<string|int, mixed>
Get the currently available shipping methods.
instance_settings_screen()  : mixed
Show instance settings
output_shipping_class_screen()  : mixed
Handles output of the shipping class settings screen.
output_shipping_providers_screen()  : void
Handles output of the shipping providers settings screen.
output_zones_screen()  : mixed
Handles output of the shipping zones page in admin.
save_settings_for_current_section()  : mixed
Save settings for current section.
wc_is_installing()  : bool
Is WC_INSTALLING constant defined? This method exists to ease unit testing.
zone_methods_screen()  : mixed
Show method for a zone
zones_screen()  : mixed
Show zones
log_settings_ui_fallback()  : void
Log a developer-facing notice when settings UI rendering falls back to the legacy renderer.

Constants

Properties

Methods

add_settings_page()

Add this page to settings.

public add_settings_page(array<string|int, mixed> $pages) : array<string|int, mixed>|mixed
Parameters
$pages : array<string|int, mixed>

Current pages.

Return values
array<string|int, mixed>|mixed

add_settings_ui_body_class()

Add a body class for settings pages rendered through the settings UI.

public add_settings_ui_body_class(string $classes) : string
Parameters
$classes : string

The existing body classes for the admin area.

Tags
since
10.9.0
Return values
stringThe modified body classes for the admin area.

get_settings()

Get settings array for the default section.

public get_settings() : array<string|int, mixed>

External settings classes (registered via 'woocommerce_get_settings_pages' filter) might have redefined this method as "get_settings($section_id='')", thus we need to use this method internally instead of 'get_settings_for_section' to register settings and render settings pages.

But we can't just redefine the method as "get_settings($section_id='')" here, since this will break on PHP 8 if any external setting class have it as 'get_settings()'.

Thus we leave the method signature as is and use 'func_get_arg' to get the setting id if it's supplied, and we use this method internally; but it's deprecated and should otherwise never be used.

Tags
deprecated
5.4.0

Use 'get_settings_for_section' (passing an empty string for default section)

Return values
array<string|int, mixed>Settings array, each item being an associative array representing a setting.

get_settings_for_section()

Get settings array.

public final get_settings_for_section(string $section_id) : array<string|int, mixed>

The strategy for getting the settings is as follows:

  • If a method named 'get_settings_for_{section_id}_section' exists in the class it will be invoked (for the default '' section, the method name is 'get_settings_for_default_section'). Derived classes can implement these methods as required.

  • Otherwise, 'get_settings_for_section_core' will be invoked. Derived classes can override it as an alternative to implementing 'get_settings_for_{section_id}_section' methods.

Parameters
$section_id : string

The id of the section to return settings for, an empty string for the default section.

Return values
array<string|int, mixed>Settings array, each item being an associative array representing a setting.

get_settings_ui_page()

Get the settings UI page adapter for this settings page.

public get_settings_ui_page() : SettingsUIPageInterface|null

Settings pages can override this to opt in to the settings UI renderer while retaining the classic WooCommerce settings page route and save flow.

Tags
since
10.9.0
Return values
SettingsUIPageInterface|null

do_update_options_action()

Trigger the 'woocommerce_update_options_'.id action.

protected do_update_options_action([string $section_id = null ]) : mixed
Parameters
$section_id : string = null

Section to trigger the action for, or null for current section.

Return values
mixed

get_region_options()

Get all available regions.

protected get_region_options(int $allowed_countries, int $shipping_continents) : mixed
Parameters
$allowed_countries : int

Zone ID.

$shipping_continents : int

Zone ID.

Return values
mixed

get_settings_for_section_core()

Get the settings for a given section.

protected get_settings_for_section_core(string $section_id) : array<string|int, mixed>

This method is invoked from 'get_settings_for_section' when no 'get_settings_for_{current_section}_section' method exists in the class.

When overriding, note that the 'woocommerce_get_settings_' filter must NOT be triggered, as this is already done by 'get_settings_for_section'.

Parameters
$section_id : string

The section name to get the settings for.

Return values
array<string|int, mixed>Settings array, each item being an associative array representing a setting.

get_settings_section_registry()

Settings section registry instance, or null when the modern settings SDK is unavailable.

protected get_settings_section_registry() : SettingsSectionRegistry|null

The class can be missing mid-update: a 10.9 copy of this file may load before the autoloader class map can safely resolve the new registry, so a direct call would fatal.

Return values
SettingsSectionRegistry|null

get_settings_ui_request_context()

Settings UI request context, or null when the modern settings SDK is unavailable.

protected get_settings_ui_request_context(string $section) : SettingsUIRequestContext|null
Parameters
$section : string

Section id.

Return values
SettingsUIRequestContext|null

get_shipping_methods()

Get the currently available shipping methods.

protected get_shipping_methods() : array<string|int, mixed>

This method exists to ease unit testing.

Return values
array<string|int, mixed>Currently available shipping methods.

log_settings_ui_fallback()

Log a developer-facing notice when settings UI rendering falls back to the legacy renderer.

private log_settings_ui_fallback(SettingsUIPageInterface $settings_ui_page, string $section_id, string $reason) : void
Parameters
$settings_ui_page : SettingsUIPageInterface

Settings UI page adapter.

$section_id : string

Section id.

$reason : string

Fallback reason.

Tags
since
10.9.0
Return values
void