【问题标题】:Add Variable to Class Name将变量添加到类名
【发布时间】:2020-02-21 13:08:04
【问题描述】:

我目前正在 Wordpress 中为 WPBakery 开发一个元素。

因为我想将元素相互嵌套,所以我必须将唯一 ID 附加到元素的类中。 变量 $uniqueID 应该附加到类“WPBakeryShortCode_vc_BootstrapCol”

但我不能这样做:

if ( class_exists( 'WPBakeryShortCodesContainer' ) ) {
        class WPBakeryShortCode_vc_BootstrapCol . $uniqueID extends WPBakeryShortCodesContainer {
    }
}

有人可以给我一个提示吗?

如果我自己在它后面写 id 就可以了。像这样:

if ( class_exists( 'WPBakeryShortCodesContainer' ) ) {
        class WPBakeryShortCode_vc_BootstrapCol9346f805fc69ff0bb9f83511df30b1a9 extends WPBakeryShortCodesContainer {
    }
}

【问题讨论】:

    标签: php wordpress class oop wpbakery


    【解决方案1】:

    您可以使用eval()

    if ( class_exists( 'WPBakeryShortCodesContainer' ) ) {
        eval("class WPBakeryShortCode_vc_BootstrapCol" . (int)$uniqueID . " extends WPBakeryShortCodesContainer {}");
    }
    

    虽然这对我来说似乎很奇怪。确保您有充分的理由这样做。

    【讨论】:

    • 是的!那是我一直在寻找的!谢谢!现在我有另一个问题。我无法在课堂外访问“$this->uniqueID”。我已经更新了问题并插入了所有代码。我想这样做是因为每个实例的简码必须不同,才能将它们相互嵌套。并且“base”必须与简码相同,并且类名必须与 base 相同。也许我想错了。但这对我来说似乎很合乎逻辑。
    • 我建议您在 stackoverflow 中针对您的问题创建一个不同的问题。在不混杂的情况下帮助你会更容易。如果此答案对您有用,您可以将其标记为已接受,以帮助遇到相同问题的其他人。
    猜你喜欢
    • 2013-04-28
    • 2019-08-21
    • 2013-01-13
    • 2018-05-06
    • 2013-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多