Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




delete_theme [ WordPress Function ]

delete_theme ( $template, $redirect = '' )
Parameters:
  • (string) $template Template directory of the theme to delete
  • (string) $redirect Redirect to page when complete.
Returns:
  • (mixed)
Defined at:



Remove a theme

Source


<?php
function delete_theme($template$redirect '') {
    global 
$wp_filesystem;

    if ( empty(
$template) )
        return 
false;

    
ob_start();
    if ( empty( 
$redirect ) )
        
$redirect wp_nonce_url('themes.php?action=delete&template=' $template'delete-theme_' $template);
    if ( 
false === ($credentials request_filesystem_credentials($redirect)) ) {
        
$data ob_get_contents();
        
ob_end_clean();
        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) ) {
        
request_filesystem_credentials($url''true); // Failed to connect, Error and request again
        
$data ob_get_contents();
        
ob_end_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 $template);
    
$deleted $wp_filesystem->delete($theme_dirtrue);

    if ( ! 
$deleted )
        return new 
WP_Error('could_not_remove_theme'sprintf(__('Could not fully remove the theme %s.'), $template) );

    
// Force refresh of theme update information
    
delete_site_transient('update_themes');

    return 
true;
}
?>

Examples [ wp-snippets.com ]

Top Google zoekresultaten

Meer ...

Gebruikersdiscussies [ wordpress.org ]

0 User Note(s)

Nog geen één. Wees de eerste!

Nieuw toevoegen ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics