delete_theme( string $stylesheet, string $redirect = '' )
Remove a theme
描述
参数
- $stylesheet
-
(string)
(Required)
Stylesheet of the theme to delete - $redirect
-
(string)
(Optional)
Redirect to page when complete.Default value: ”
返回值
(void|bool|WP_Error) When void, echoes content.
源代码
File: wp-admin/includes/theme.php
function delete_theme($stylesheet, $redirect = '') {
global $wp_filesystem;
if ( empty($stylesheet) )
return false;
if ( empty( $redirect ) ) {
$redirect = wp_nonce_url('themes.php?action=delete&stylesheet=' . urlencode( $stylesheet ), 'delete-theme_' . $stylesheet);
}
ob_start();
$credentials = request_filesystem_credentials( $redirect );
$data = ob_get_clean();
if ( false === $credentials ) {
if ( ! empty( $data ) ){
include_once( ABSPATH . 'wp-admin/admin-header.php');
echo $data;
include( ABSPATH . 'wp-admin/admin-footer.php');
exit;
}
return;
}
if ( ! WP_Filesystem( $credentials ) ) {
ob_start();
request_filesystem_credentials( $redirect, '', true ); // Failed to connect, Error and request again.
$data = ob_get_clean();
if ( ! empty($data) ) {
include_once( ABSPATH . 'wp-admin/admin-header.php');
echo $data;
include( ABSPATH . 'wp-admin/admin-footer.php');
exit;
}
return;
}
if ( ! is_object($wp_filesystem) )
return new WP_Error('fs_unavailable', __('Could not access filesystem.'));
if ( is_wp_error($wp_filesystem->errors) && $wp_filesystem->errors->get_error_code() )
return new WP_Error('fs_error', __('Filesystem error.'), $wp_filesystem->errors);
// Get the base plugin folder.
$themes_dir = $wp_filesystem->wp_themes_dir();
if ( empty( $themes_dir ) ) {
return new WP_Error( 'fs_no_themes_dir', __( 'Unable to locate WordPress theme directory.' ) );
}
$themes_dir = trailingslashit( $themes_dir );
$theme_dir = trailingslashit( $themes_dir . $stylesheet );
$deleted = $wp_filesystem->delete( $theme_dir, true );
if ( ! $deleted ) {
return new WP_Error( 'could_not_remove_theme', sprintf( __( 'Could not fully remove the theme %s.' ), $stylesheet ) );
}
$theme_translations = wp_get_installed_translations( 'themes' );
// Remove language files, silently.
if ( ! empty( $theme_translations[ $stylesheet ] ) ) {
$translations = $theme_translations[ $stylesheet ];
foreach ( $translations as $translation => $data ) {
$wp_filesystem->delete( WP_LANG_DIR . '/themes/' . $stylesheet . '-' . $translation . '.po' );
$wp_filesystem->delete( WP_LANG_DIR . '/themes/' . $stylesheet . '-' . $translation . '.mo' );
}
}
// Remove the theme from allowed themes on the network.
if ( is_multisite() ) {
WP_Theme::network_disable_theme( $stylesheet );
}
// Force refresh of theme update information.
delete_site_transient( 'update_themes' );
return true;
}
更新日志
Version | 描述 |
---|---|
2.8.0 | Introduced. |
相关函数
Uses
-
wp-includes/class-wp-theme.php:
WP_Theme::network_disable_theme() -
wp-admin/includes/file.php:
request_filesystem_credentials() -
wp-admin/includes/file.php:
WP_Filesystem() -
wp-includes/l10n.php:
wp_get_installed_translations() -
wp-includes/l10n.php:
__() -
wp-includes/formatting.php:
trailingslashit() -
wp-includes/load.php:
is_multisite() -
wp-includes/functions.php:
wp_nonce_url() -
wp-includes/option.php:
delete_site_transient() -
wp-includes/load.php:
is_wp_error() -
wp-includes/class-wp-error.php:
WP_Error::__construct()
Show 6 more uses
Hide more uses
Used By
-
wp-admin/includes/ajax-actions.php:
wp_ajax_delete_theme()
User Contributed Notes
-
Skip to note content
You must log in to vote on the helpfulness of this noteVote results for this note: 0You must log in to vote on the helpfulness of this note
Contributed by
Mitch
Delete theme ‘twentyseventeen’:
if(delete_theme('twentyseventeen')) { echo 'Twenty Seventeen has been deleted.'; }
你可能对这些文章感兴趣:
- wordpress函数esc_html_x()用法示例
- wordpress函数esc_html()用法示例
- wordpress函数esc_html_e()用法示例
- wordpress函数esc_attr_x()用法示例
- wordpress函数esc_attr__()用法示例
- wordpress函数esc_attr()用法示例
- wordpress函数esc_attr_e()用法示例
- wordpress函数enqueue_embed_scripts()用法示例
- wordpress函数ent2ncr()用法示例
- wordpress函数enqueue_comment_hotkeys_js()用法示例
- wordpress函数edit_user()用法示例
- wordpress函数email_exists()用法示例
- wordpress函数endElement()用法示例
- wordpress函数edit_term_link()用法示例
如有疑问,请前往问答中心反馈!
反馈