2013-11-26 4 views
1

사용자 지정 테마에서 작업 중이므로 여러 테마 색 옵션이 있습니다. 그래서 나는 WordPress의 admin 페이지를 통해 테마 컬러 옵션을 호출했습니다. 모든 것이 완벽하게 작동하고 단일 문제가 발생하지 않았습니다. 나는 오랫동안 웹 디자인에서 물러나 있었고 최근에 다시 웹 디자인으로 돌아 왔습니다. 나는 PHP 언어 (적어도 옛날 방식)에 대해 잘 알고 있지만, 코드는 현재 내가 사용하고있는 '배열'과 'if/while/foreach'문을 &하는 방법을 보여줄 것입니다. 이 작업이 완료된 새로운 최신 방법이 있는지 알고 싶습니다. 그러면 내 코드가 언제든지 비추천되지 않고이 테마를 편집하려는 모든 사용자가 수정할 수 있습니다. PHP WordPress 사용자 지정 배열

내 기능, 그리고 완벽하게 불러 :

function peridot_colour_styles() { 
    $colour_list = array('peridot', 'sapphire'); 
    foreach ($colour_list as $output_list) { 
     if (get_option('peridot_theme_colour') == $output_list) { $selected = 'selected="selected"'; } else { $selected = ''; } 
    echo '<option value="'. $output_list .'" '. $selected .'>'. ucfirst($output_list) .'</option>'; 
    } 
} 

내가 정말 테마 색에 대한 워드 프레스 옵션베이스 (10) 옵션을 만들 싶지 않다, 그래서 난 그냥 CSS를 이름을 지정합니다 'peridot.css'파일과 'sapphire.css'파일을 열어 'Peridot'을 선택합니다. 스타일 일반 이름을 호출 할 수 있습니다.

--Note--

는 난 그냥이 작업을 수행하는 더 나은 방법이 있는지 알고 싶은거야 말했듯이, 또는이를 수행하는 데 사용되는 새로운 방법. 나는이 코드가 나를 위해 다시 쓰여진 것을 원하지 않지만 누군가 '수정하는'것에는 반대하지 않는다. 나는 또한 '당신이 이것을 할 수있는 어쩌구 저쩌구 저렇게 할 수있어.'라고 쓰여졌습니다. :)

저는 PHP에 익숙하며 튜토리얼/가이드를 아주 쉽게 감쌀 수 있습니다.

답변

2

전반적으로 코드는 문제가 없습니다. 선택한 옵션을 기반으로 별도의 스타일 시트를로드한다는 점에서 최적입니다. 내가 할 수있는 유일한 것은 Wordpress의 Selected 도우미 함수를 조금씩 줄이기위한 것입니다 :

function peridot_colour_styles() { 
    $colour_list = array('peridot', 'sapphire'); 
    foreach ($colour_list as $output_list) { 
     $selected = selected(get_option('peridot_theme_colour'), $output_list, false); 
     printf('<option value="%s" %s>%s</option>', $output_list, $selected, ucfirst($output_list)); 
    } 
} 
+0

코드가 완벽하게 작동했습니다! 나는 선택한 wp를 파고 거기서 자신을 강하게 할 것이다. 그것은 내가 php에서 printf (sprintf)에 자신을 업데이 트해야 할 것 같습니다. 귀하의 도움을 주시면 감사하겠습니다! 고맙습니다. – MrJustin

관련 문제