Variable global scope

时间:2021-10-12 作者:Fluxian

我试图创建一些自定义的帖子类型,而不是硬编码它们的名称,我只想将它们定义为一个全局范围的变量。我以为我了解范围,但显然不了解。以下代码导致错误Undefined variable:

$filmLabel = "Films";
$showLabel = "Shows";
function CreatePostTypes() {
    register_post_type( $filmLabel, GenerateFilmType($filmLabel));
    register_post_type( $showLabel, GenerateFilmType($showLabel));
}
add_action( \'init\', \'CreatePostTypes\' );
我试过使用$GLOBAL 同样,结果也是一样的。有人能发现出什么问题吗?

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

全局语言通常是无组织的。您可以使用define 相反

<?php
define("FILM_LABEL", "Films");
define("SHOW_LABEL", "Shows");
function CreatePostTypes() {
    register_post_type( FILM_LABEL, GenerateFilmType( FILM_LABEL ) );
    register_post_type( SHOW_LABEL, GenerateFilmType( SHOW_LABEL ) );
}
add_action( \'init\', \'CreatePostTypes\' );