2010-12-23 2 views
0

기본적으로 사이트 제목 (로고)에 업로드 된 이미지가있는 경우 #header h1 a의 배경으로 표시되며이 부분은 들여 쓰기 -9999px으로 설정됩니다. (이 작동하지 않습니다).PHP 변수가 function.php (Wordpress) 내의 조건문 내에서 작동하지 않습니다?

내가 말하는 if 문 안에 '$text_indent = '-9999px했다 "//If it is an image는"

$text_indent 최종 입력에 표시되지 않는?

header.php

#header h1 a { 
     background: url(<?php echo $options['logo']; ?>) no-repeat scroll 0 0; 
     text-indent: <?php echo $text_indent; ?> 
    } 

function.php : 당신은 function.php.function 내부에이 변수를 사용하지만 함수 외부이 변수 것이다 액세스 할 수 없습니다

// Logo 
function logo_setting() { 
    echo '<input type="file" name="logo" />'; 
} 

function validate_setting($plugin_options) { 
    $keys = array_keys($_FILES); 
    $i = 0; 

    foreach ($_FILES as $image) { 

     // if a files was upload 
     if ($image['size']) { 
     // if it is an image 
     if (preg_match('/(jpg|jpeg|png|gif)$/', $image['type'])) { 
      $override = array('test_form' => false); 
      $file = wp_handle_upload($image, $override); 

      $plugin_options[$keys[$i]] = $file['url']; 

      // Hide site title's text 
      $text_indent = '-9999px'; 

     } else { 
      $options = get_option('plugin_options'); 
      $plugin_options[$keys[$i]] = $options[$logo]; 
      wp_die('No image was uploaded.'); 
     } 
     } 

     // else, retain the image that's already on file. 
     else { 
     $options = get_option('plugin_options'); 
     $plugin_options[$keys[$i]] = $options[$keys[$i]]; 
     } 
     $i++; 
    } 

    return $plugin_options; 
} 

function section_cb() {} 

// Add stylesheet 
+0

전역으로 선언하십시오. –

답변

1

.

따라서 변수를 global 변수로 선언해야합니다.

+0

사실이 함수는/admin-menu.php 함수 안에 있고 그 파일은 functions.php 내에서 호출됩니다 (큰 차이는 아닙니다). 그래서 나는'$ text_indent = '-9999px'; global $ text_indent; '하지만 아무 일도 없었습니다 :( – alexchenco

관련 문제