PHP - 语法错误

时间:2015-10-31 04:46:06

标签: php wordpress

我的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' ) );
    }
}

如果我删除了这个函数,我的错误就消失了,但是这个函数的代码有什么问题,我该如何解决呢?

1 个答案:

答案 0 :(得分: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

?>