由于函数原因,“无法重新声明CPT_REG_TAX()”。php

时间:2014-03-07 作者:MaxNagler

背景:我有一个Wordpress主题的childtheme文件夹,其中包含一个函数。php。在此函数中。php,在一开始,我编写了设置自定义帖子类型的代码,允许用户向站点添加事件。直到今天,一切都很顺利,我在同一个文件中添加了另一个单独的自定义帖子类型的代码,允许用户添加人。

问题:在添加了第二个自定义帖子类型代码后,我无法再登录到我的网站。

问题原因:通过我的域提供商的错误日志文件,我发现将“place”注册为类别的代码导致了问题。我试图通过add_action(\'init\', \'cpt_reg_tax\');, 之后是function cpt_reg_tax() { // code }; 现在,错误日志文件告诉我:PHP Fatal error: Cannot redeclare cpt_reg_tax() (previously declared in ...

问题是函数开头的事件自定义post类型。php我已经注册了一个分类法。但是为什么PHP不允许我为文件后面的另一个单独的自定义帖子类型注册另一个分类法呢?

我如何才能在不再次出现重新声明错误的情况下,为我今天编写的第二个自定义帖子类型注册分类法?

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

不能多次使用同一函数名。为第二个函数指定不同的名称:

add_action( \'wp_loaded\', \'cpt_reg_tax1\' );

function cpt_reg_tax1()
{
    // code for the first taxonomy here
}

add_action( \'wp_loaded\', \'cpt_reg_tax2\' );

function cpt_reg_tax2()
{
    // code for the second taxonomy here
}
除此之外,您的代码将对许多用户造成严重破坏,因为自定义帖子类型和分类是plugin territory.

结束

相关推荐