Switch language

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




wp_update_themes [ WordPress Function ]

wp_update_themes ( No parameters )
Uses:
  • $wp_version
Returns:
  • (mixed) Returns null if update is unsupported. Returns false if check is too soon.
Defined at:



Check theme versions against the latest versions hosted on WordPress.org.

A list of all themes installed in sent to WP. Checks against the WordPress server at api.wordpress.org. Will only check if WordPress isn't installing.

Source


<?php
function wp_update_themes() {
    include 
ABSPATH WPINC '/version.php'// include an unmodified $wp_version

    
if ( defined'WP_INSTALLING' ) )
        return 
false;

    
$installed_themes wp_get_themes();
    
$last_update get_site_transient'update_themes' );
    if ( ! 
is_object($last_update) )
        
$last_update = new stdClass;

    
$themes = array();
    
$checked = array();

    
// Put slug of current theme into request.
    
$themes['current_theme'] = get_option'stylesheet' );

    foreach ( 
$installed_themes as $theme ) {
        
$checked$theme->get_stylesheet() ] = $theme->get('Version');

        
$themes$theme->get_stylesheet() ] = array(
            
'Name'       => $theme->get('Name'),
            
'Title'      => $theme->get('Name'),
            
'Version'    => $theme->get('Version'),
            
'Author'     => $theme->get('Author'),
            
'Author URI' => $theme->get('AuthorURI'),
            
'Template'   => $theme->get_template(),
            
'Stylesheet' => $theme->get_stylesheet(),
        );
    }

    
// Check for update on a different schedule, depending on the page.
    
switch ( current_filter() ) {
        case 
'load-update-core.php' :
            
$timeout 60// 1 min
            
break;
        case 
'load-themes.php' :
        case 
'load-update.php' :
            
$timeout 3600// 1 hour
            
break;
        default :
            
$timeout 43200// 12 hours
    
}

    
$time_not_changed = isset( $last_update->last_checked ) && $timeout > ( time( ) - $last_update->last_checked );

    if ( 
$time_not_changed ) {
        
$theme_changed false;
        foreach ( 
$checked as $slug => $v ) {
            
$update_request->checked$slug ] = $v;

            if ( !isset( 
$last_update->checked$slug ] ) || strval($last_update->checked$slug ]) !== strval($v) )
                
$theme_changed true;
        }

        if ( isset ( 
$last_update->response ) && is_array$last_update->response ) ) {
            foreach ( 
$last_update->response as $slug => $update_details ) {
                if ( ! isset(
$checked$slug ]) ) {
                    
$theme_changed true;
                    break;
                }
            }
        }

        
// Bail if we've checked recently and if nothing has changed
        
if ( ! $theme_changed )
            return 
false;
    }

    
// Update last_checked for current to prevent multiple blocking requests if request hangs
    
$last_update->last_checked time();
    
set_site_transient'update_themes'$last_update );

    
$options = array(
        
'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 3),
        
'body'            => array( 'themes' => serialize$themes ) ),
        
'user-agent'    => 'WordPress/' $wp_version '; ' get_bloginfo'url' )
    );

    
$raw_response wp_remote_post'http://api.wordpress.org/themes/update-check/1.0/'$options );

    if ( 
is_wp_error$raw_response ) || 200 != wp_remote_retrieve_response_code$raw_response ) )
        return 
false;

    
$new_update = new stdClass;
    
$new_update->last_checked time( );
    
$new_update->checked $checked;

    
$response maybe_unserializewp_remote_retrieve_body$raw_response ) );
    if ( 
is_array$response ) )
        
$new_update->response $response;

    
set_site_transient'update_themes'$new_update );
}
?>

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