Automattic\WooCommerce\Internal\Admin\Logging

Settings::get_retention_period_days_setting_definition()privateWC 1.0

The definition for the retention_period_days setting.

Метод класса: Settings{}

Хуков нет.

Возвращает

Массив.

Использование

// private - только в коде основоного (родительского) класса
$result = $this->get_retention_period_days_setting_definition(): array;

Код Settings::get_retention_period_days_setting_definition() WC 9.5.1

private function get_retention_period_days_setting_definition(): array {
	$custom_attributes = array(
		'min'  => 1,
		'step' => 1,
	);

	$desc = array();

	$hardcoded = has_filter( 'woocommerce_logger_days_to_retain_logs' );
	if ( $hardcoded ) {
		$custom_attributes['disabled'] = 'true';

		$desc[] = sprintf(
			// translators: %s is the name of a filter hook.
			__( 'This setting cannot be changed here because it is being set by a filter on the %s hook.', 'woocommerce' ),
			'<code>woocommerce_logger_days_to_retain_logs</code>'
		);
	}

	$file_delete_has_filter = LogHandlerFileV2::class === $this->get_default_handler() && has_filter( 'woocommerce_logger_delete_expired_file' );
	if ( $file_delete_has_filter ) {
		$desc[] = sprintf(
			// translators: %s is the name of a filter hook.
			__( 'The %s hook has a filter set, so some log files may have different retention settings.', 'woocommerce' ),
			'<code>woocommerce_logger_delete_expired_file</code>'
		);
	}

	return array(
		'title'             => __( 'Retention period', 'woocommerce' ),
		'desc_tip'          => __( 'This sets how many days log entries will be kept before being auto-deleted.', 'woocommerce' ),
		'id'                => self::PREFIX . 'retention_period_days',
		'type'              => 'number',
		'value'             => $this->get_retention_period(),
		'default'           => self::DEFAULTS['retention_period_days'],
		'autoload'          => false,
		'custom_attributes' => $custom_attributes,
		'css'               => 'width:70px;',
		'row_class'         => 'logs-retention-period-days',
		'suffix'            => sprintf(
			' %s',
			__( 'days', 'woocommerce' ),
		),
		'desc'              => implode( '<br><br>', $desc ),
	);
}