2015-02-07 2 views
0

안녕하세요, 여러분!테마 내부 위젯 구성

모바일 테마의 경우 모양이 바뀌지 만 내 테마를 변경해야하지만 위젯이 올바르게 저장되지 않습니다.

나는 테마에서 위젯을 구성하려고했으나이 방법은 작동하지 않습니다

if (!function_exists('sync_widgets_config')): 
    function sync_widgets_config() { 
     static $validConf = [ 
      'orphaned_widgets_1' => [ 
       0 => 'search-2', 
       1 => 'recent-posts-2', 
       2 => 'recent-comments-2', 
       3 => 'archives-2', 
       4 => 'categories-2', 
       5 => 'meta-2', 
      ], 
      'wp_inactive_widgets' => [0 => 'gin-content-categories-2',], 
      'sliding_sidebar' => [ 
       0 => 'gin-login-form-3', 
       1 => 'gin-account-cabinet-2', 
       2 => 'gin-content-top-menu-2', 
      ], 
      'header_area' => [0 => 'gin-top-area-2',], 
      'pre_content' => [0 => 'gin-content-news-slider-2',], 
      'global_menu' => [0 => 'gin-content-categories-3'], 
      'footer' => [0 => 'gin-footer_widget-2',], 
      'global_footer' => [0 => 'gin-siteheart_widget-2',], 
     ]; 

     if ($validConf == wp_get_sidebars_widgets()) { 
      return; 
     } 

     wp_set_sidebars_widgets($validConf); 
    } 

    sync_widgets_config(); 
endif; // if (!function_exists('sync_widgets_config')): 

당신이하는 방법을 제안한다 (또는 플러그인)을 테마로 내 위젯을 구성합니다, 내가 변경 한 후 수 테마, 위젯은 테마 안에 저장되어 나타납니다?

답변

0

이 문제가 해결되었습니다. 내 바탕 화면 테마에 대한 위젯을 구성하고 너무 모바일 위젯 영역에 위젯을 추가,이 후

// Desktop areas 
register_sidebar(array(
    'name' => 'Top area', 
... 
)); 
//... 
// Mobile areas 
register_sidebar(array(
    'name' => 'Sliding area', 
... 
)); 

: 두 테마에서

내가 두 테마에서 위젯 영역을 등록 : 나는 다음 단계를했다.

// If user agent is mobile, we will change theme on fly 
if (wp_is_mobile()) { 
    add_filter('stylesheet', 'change_theme', 1); 
    add_filter('template', 'change_theme', 1); 
} 

// Return mobile theme name 
function change_theme($theme) 
{ 
    return 'mobiletheme'; 
}