WordPress.org

Make WordPress Core

Ticket #15048: 15048.admin.diff

File 15048.admin.diff, 2.4 KB (added by nacin, 8 years ago)

Only perform the swap when is_admin.

  • wp-includes/theme.php

     
    12981298}
    12991299
    13001300/**
     1301 * Retrieve all theme modifications.
     1302 *
     1303 * @since 3.1.0
     1304 *
     1305 * @return mixed Theme modifications value.
     1306 */
     1307function get_theme_mods() {
     1308        $theme_slug = get_option( 'stylesheet' );
     1309        if ( false === ( $mods = get_option( "theme_mods_$theme_slug" ) ) ) {
     1310                $theme_name = get_current_theme();
     1311                $mods = get_option( "mods_$theme_name" );
     1312                if ( is_admin() && false !== $mods ) {
     1313                        update_option( "theme_mods_$theme_slug", $mods );
     1314                        delete_option( "mods_$theme_name" );
     1315                }
     1316        }
     1317        return $mods;
     1318}
     1319
     1320/**
    13011321 * Retrieve theme modification value for the current theme.
    13021322 *
    13031323 * If the modification name does not exist, then the $default will be passed
     
    13131333 * @return string
    13141334 */
    13151335function get_theme_mod($name, $default = false) {
    1316         $theme = get_current_theme();
     1336        $mods = get_theme_mods();
    13171337
    1318         $mods = get_option( "mods_$theme" );
    1319 
    13201338        if ( isset($mods[$name]) )
    13211339                return apply_filters( "theme_mod_$name", $mods[$name] );
    13221340
     
    13321350 * @param string $value theme modification value.
    13331351 */
    13341352function set_theme_mod($name, $value) {
    1335         $theme = get_current_theme();
     1353        $mods = get_theme_mods();
    13361354
    1337         $mods = get_option("mods_$theme");
    1338 
    13391355        $mods[$name] = $value;
    13401356
    1341         update_option("mods_$theme", $mods);
    1342         wp_cache_delete("mods_$theme", 'options');
     1357        $theme = get_option( 'stylesheet' );
     1358        update_option( "theme_mods_$theme", $mods );
     1359        wp_cache_delete( "theme_mods_$theme", 'options' );
    13431360}
    13441361
    13451362/**
     
    13541371 * @return null
    13551372 */
    13561373function remove_theme_mod( $name ) {
    1357         $theme = get_current_theme();
     1374        $mods = get_theme_mods();
    13581375
    1359         $mods = get_option("mods_$theme");
    1360 
    13611376        if ( !isset($mods[$name]) )
    13621377                return;
    13631378
     
    13661381        if ( empty($mods) )
    13671382                return remove_theme_mods();
    13681383
    1369         update_option("mods_$theme", $mods);
    1370         wp_cache_delete("mods_$theme", 'options');
     1384        $theme = get_option( 'stylesheet' );
     1385        update_option( "theme_mods_$theme", $mods );
     1386        wp_cache_delete( "theme_mods_$theme", 'options' );
    13711387}
    13721388
    13731389/**
     
    13761392 * @since 2.1.0
    13771393 */
    13781394function remove_theme_mods() {
    1379         $theme = get_current_theme();
    1380 
    1381         delete_option("mods_$theme");
     1395        delete_option( 'theme_mods_' . get_option( 'stylesheet' ) );
     1396        delete_option( 'mods_' . get_current_theme() );
    13821397}
    13831398
    13841399/**