2017-04-26 165 views
0

我目前正在为我的wordpress网站开发注册表。我得到这个错误解析错误:语法错误,意外的'{':什么可能是错误的?

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

这里是代码:

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', ]) { 

如果我if语句删除,它的工作原理,但我不希望将其删除。

这里是整个代码:

<?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 Parse/Syntax Errors;和如何解决它们?](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和one来关闭“in_array”函数。

+1

非常感谢。想知道我怎么错过这个! – Sam

相关问题