2015-10-31 2 views
0

У меня есть синтаксическая ошибка в моем PHP-коде, и я просто не могу понять, как ее исправить. Я пытался в течение веков и сузил ошибочный код к следующему:PHP - Ошибка синтаксиса

<?php 
global $post; 
$tax_classes = array_filter(array_map('trim', explode("\n", get_option('woocommerce_tax_classes')))); 

if (! class_exists('Tax_Meta_Boxes')) : 

class Tax_Meta_Boxes { 

    public function __construct() { 

     add_action('save_post', array($this, 'tax_meta_data')); 
    } 
} 
?> 

Я побежал код через PHP проверку, ошибка, кажется, с последней строкой и ?>. Я пробовал возиться с ним, удаляю его, но ошибка все еще там.

ошибка вызвана функция:

if (! class_exists('Tax_Meta_Boxes')) : 

class Tax_Meta_Boxes { 

    public function __construct() { 

     add_action('save_post', array($this, 'tax_meta_data')); 
    } 
} 

Если удалить функцию, исчезла моя ошибка, но что плохого в коде этой функции, как я могу это исправить?

ответ

4

Вы пропустили endif; для вашего if()

<?php 
global $post; 
$tax_classes = array_filter(array_map('trim', explode("\n", get_option('woocommerce_tax_classes')))); 

if (! class_exists('Tax_Meta_Boxes')) : 

class Tax_Meta_Boxes { 

    public function __construct() { 

     add_action('save_post', array($this, 'tax_meta_data')); 
    } 
} 

endif;// this line 

?> 
+0

Да, это работает, спасибо большое !! –

Смежные вопросы