функция since 5.2.0

resume_theme()

Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.

Сигнатура

resume_theme( string $theme, string $redirect = '' ): bool|WP_Error

Описание

Если был указан редирект и найден файл functions.php, сначала мы убеждаемся, что файл functions.php больше не вызывает фатальных ошибок.
Это работает так: перед попыткой подключить файл перенаправление устанавливается на ошибку. Если тема завершается сбоем, перенаправление не будет перезаписано сообщением об успехе, и работа темы не будет возобновлена.

Оригинал (английский)

If a redirect was provided and a functions.php file was found, we first ensure that functions.php file does not throw fatal errors anymore.

The way it works is by setting the redirection to the error before trying to include the file. If the theme fails, then the redirection will not be overwritten with the success message and the theme will not be resumed.

Параметры

$theme string обязательный
Одна тема для возобновления работы.
$redirect string необязательный = ''
URL для перенаправления.

Возвращаемое значение

bool|WP_Error

$theme WP_Error

Исходный код

wp-admin/includes/theme.php:1169

function resume_theme( $theme, $redirect = '' ) {
	global $wp_stylesheet_path, $wp_template_path;

	list( $extension ) = explode( '/', $theme );

	/*
	 * We'll override this later if the theme could be resumed without
	 * creating a fatal error.
	 */
	if ( ! empty( $redirect ) ) {
		$functions_path = '';
		if ( str_contains( $wp_stylesheet_path, $extension ) ) {
			$functions_path = $wp_stylesheet_path . '/functions.php';
		} elseif ( str_contains( $wp_template_path, $extension ) ) {
			$functions_path = $wp_template_path . '/functions.php';
		}

		if ( ! empty( $functions_path ) ) {
			wp_redirect(
				add_query_arg(
					'_error_nonce',
					wp_create_nonce( 'theme-resume-error_' . $theme ),
					$redirect
				)
			);

			// Load the theme's functions.php to test whether it throws a fatal error.
			ob_start();
			if ( ! defined( 'WP_SANDBOX_SCRAPING' ) ) {
				define( 'WP_SANDBOX_SCRAPING', true );
			}
			include $functions_path;
			ob_clean();
		}
	}

	$result = wp_paused_themes()->delete( $extension );

	if ( ! $result ) {
		return new WP_Error(
			'could_not_resume_theme',
			__( 'Could not resume the theme.' )
		);
	}

	return true;
}

История изменений

ВерсияОписание
5.2.0 Introduced.

Что будем искать? Например,Продвижение

Этот сайт использует куки-файлы. Оставаясь на сайте, Вы соглашаетесь на их использование. Для получения дополнительной информации, пожалуйста, ознакомьтесь с политикой в отношении персональных данных.