提问人:level42 提问时间:11/1/2023 最后编辑:level42 更新时间:11/1/2023 访问量:41
使用 is_page() WordPress 函数时,当使用 $this 或 self 时,结果混合
Mixed results with is_page() WordPress function, when using either $this, or self
问:
我试图理解一些东西。我继承了一个旧的 Wordpress 插件,我正在咀嚼将其从 PHP5 -> PHP8 转换。
我遇到了这个检查,它在执行时导致错误:
注意:将静态属性 PropertySearch::$listing_details_template_name 作为非静态属性进行访问
我在网上发现,这可以通过使用而不是访问静态成员来解决。但是,当我将版本传递给 Wordpress 函数时,它会返回 ,而当我 pas 版本时,它会返回 .self
$this
self
is_page
false
$this
true
当我查看两者的值时,它们包含完全相同的字符串。self::$listing_details_template_name
$this->listing_details_template_name
我通过调试注意到的一件事是,在输入函数时,变量在使用 时为 NULL,并且在使用 时包含模板名称,并且由于 NOT NULL ,这会传递函数,并返回 。is_page
$page
$this->listing_details_template_name
self::$listing_details_template_name
$page
false
最终,我试图找出为什么会发生这种情况,以及我能做些什么来规避原始错误,以及/或我面临的这个新问题。
is_page():https://wp-kama.com/function/is_page
global $wp_query;
if (is_page(self::$listing_details_template_name)) {
echo nl2br ("[DEBUG] - self2 = " . self::$listing_details_template_name . " \r\n");
}
if (is_page($this->listing_details_template_name)) {
echo nl2br ("[DEBUG] - this2 = " . self::$listing_details_template_name . " \r\n");
}
[编辑] - 目前,我已将其添加到WordPress的文件中。query.php
if ($page = 'property-search-single-property-details-template.php') {
$page = NULL;
}
但是,这只是一个创可贴,所以我可以继续调试。我想要一个不涉及我修改核心 WordPress 文件的解决方案。或者至少,对为什么会发生这种情况有进一步的了解。
答: 暂无答案
下一个:我该如何解决“这个”?[关闭]
评论