2017-04-26 5 views
0

나는 현재 나의 WordPress 사이트 등록 양식을 작성 중이다.구문 분석 오류 : 예기치 않은 구문 오류 '{': 잘못 되었습니까?

echo '<select name="role" class="input">'; 
    foreach ($wp_roles->roles as $key=>$value) { 
     // Exclude default roles such as administrator etc. Add your own 
     if (! in_array($value['name'], [ 'Administrator', 'Contributor', ]) { 
      echo '<option value="'.$key.'">'.$value['name'].'</option>'; 
     } 
    } 
    echo '</select>'; 

라인 (14)가 여기

if (! in_array($value['name'], [ 'Administrator', 'Contributor', ]) { 

입니다 문 있다면이를 제거해야하는 경우, 그것은 작동하지만 내가 원하지 않는 : 나는 여기

Parse error: syntax error, unexpected '{' in C:\xampp\htdocs\WoodClef\wp-content\themes\woodclef\inc\custormregform.php on line 14

는 코드입니다이 오류가 발생했습니다 그것을 제거하십시오.

<?php 

// How To create User Registration Form 

//1. Add a new form element... 
add_action('register_form', 'myplugin_register_form'); 
function myplugin_register_form() { 

    global $wp_roles; 

    echo '<select name="role" class="input">'; 
    foreach ($wp_roles->roles as $key=>$value) { 
     // Exclude default roles such as administrator etc. Add your own 
     if (! in_array($value['name'], [ 'Administrator', 'Contributor', ]) { 
      echo '<option value="'.$key.'">'.$value['name'].'</option>'; 
     } 
    } 
    echo '</select>'; 
} 

//2. Add validation. 
add_filter('registration_errors', 'myplugin_registration_errors', 10, 3); 
function myplugin_registration_errors($errors, $sanitized_user_login, $user_email) { 

    if (empty($_POST['role']) || ! empty($_POST['role']) && trim($_POST['role']) == '') { 
     $errors->add('role_error', __('<strong>ERROR</strong>: You must include a role.', 'mydomain')); 
    } 

    return $errors; 
} 

//3. Finally, save our extra registration user meta. 
add_action('user_register', 'myplugin_user_register'); 
function myplugin_user_register($user_id) { 

    $user_id = wp_update_user(array('ID' => $user_id, 'role' => $_POST['role'])); 
} 
+0

가능한 [PHP 구문 분석/구문 오류] 복제본. 어떻게 해결할 수 있습니까?] (https://stackoverflow.com/questions/18050071/php-parse-syntax-errors-and-how-to-solve-them) –

답변

2
if (! in_array($value['name'], [ 'Administrator', 'Contributor', ]) { 

나는 당신이이 ')'...이 더 잘 보여요 놓치고있어 생각 : 여기

전체 코드?

if (! in_array($value['name'], [ 'Administrator', 'Contributor', ])) { 

여기서 ')'는 if를 닫고 하나는 "in_array"기능을 닫습니다.

+1

정말 고마워요. 어떻게 내가 이것을 놓칠 까 생각했다! – Sam