PHP:无法调用公共函数
我有一个dashboard.php页面,它创建了一个商家仪表板,显示商家提交的交易。我只是想通过检查交易是否为建议交易来区分交易类型:PHP:无法调用公共函数,php,function,class,singleton,Php,Function,Class,Singleton,我有一个dashboard.php页面,它创建了一个商家仪表板,显示商家提交的交易。我只是想通过检查交易是否为建议交易来区分交易类型: ... while ($deals->have_posts()) : $deals->the_post(); $suggested_deal = SA_Post_Type::get_instance( $post->ID ); $boolsuggesteddeal = $suggested_deal->is_suggest
...
while ($deals->have_posts()) : $deals->the_post();
$suggested_deal = SA_Post_Type::get_instance( $post->ID );
$boolsuggesteddeal = $suggested_deal->is_suggested_deal();
...
但是,is_suggered_deal()行导致页面不显示超过该行的内容
SA_POST_类型类别概述如下:
class SA_Post_Type extends Group_Buying_Deal {
...
public static function get_instance( $id = 0 ) {
if ( !$id ) {
return NULL;
}
if ( !isset( self::$instances[$id] ) || !self::$instances[$id] instanceof self ) {
self::$instances[$id] = new self( $id );
}
if ( self::$instances[$id]->post->post_type != parent::POST_TYPE ) {
return NULL;
}
return self::$instances[$id];
}
...
public function is_suggested_deal() {
$term = array_pop( wp_get_object_terms( $this->get_id(), self::TAX ) );
return $term->slug == self::TERM_SLUG;
}
...
既然类和函数都是公共的,为什么我不能调用函数呢?任何帮助都将不胜感激
编辑:我不知道如何在不向所有站点用户显示错误的情况下获取错误报告,我在一个实时站点上。我尝试创建一个sau Post_Type()的实例,但仅此一点就导致页面无法加载该行之后的任何内容。您尚未创建该类的实例,请按以下方式操作
$SA_Post_Type = new SA_Post_Type();
然后您就可以访问该功能
$boolsuggesteddeal = $SA_Post_Type->is_suggested_deal();
由于is_Suggestive_deal不是一个静态函数,因此必须首先创建SA_Post_类型类的新实例
$sa_post_type = new SA_Post_Type();
$boolsuggesteddeal = $sa_post_type->is_suggested_deal();
希望这能有所帮助。您是否对
self::$instances
进行了var\u dump
转储?首先,您是否有错误报告?其次,您能否确认$suggered\u deal
实际上是一个实例,并且不为空?这一行肯定有效:$suggered\u deal=SA\u Post\u Type::get\u instance($Post->ID);谢谢你,但这似乎不起作用。我不知道为什么,但构造函数本身似乎阻止了页面在那一行之后显示任何内容。谢谢,但它似乎不起作用。我不知道为什么,但构造函数本身似乎阻止页面在该行之后显示任何内容。