我需要getdata()
中的class-GetData.php
功能来调用此shortcode_function()
。
require_once plugin_dir_path( __FILE__ ) . '/class-GetData.php';
add_shortcode('registration-plugin','shortcode_function');
function shortcode_function()
{
ob_start();
insert_data();
getdata(); //from GetData.php
return ob_get_clean();
}
?>
类访问getdata.php
<?php
class GetData
{
public function getdata()
{
//something here
}
}
$getData = new GetData();
但是我得到了未定义的函数错误:
调用未定义的函数getdata()
答案 0 :(得分:1)
使用GetData类的对象来调用在类中创建的函数。
require_once plugin_dir_path( __FILE__ ) . '/class-GetData.php';
add_shortcode('registration-plugin','shortcode_function');
function shortcode_function()
{
ob_start();
insert_data();
$getData = new GetData(); //Create Getdata object
$getData->getdata(); //call function using the object
return ob_get_clean();
}
类访问getdata.php
class GetData
{
public function getdata()
{
//something here
}
}
答案 1 :(得分:1)
您正在调用Class Method
,就像正常的函数调用一样。内部Class Method
需要this
关键字来调用类中的方法。如果您想从课堂外调用Public
函数/方法,则必须创建Object
。
尝试使用 -
function shortcode_function(){
ob_start();
insert_data();
$getData = new GetData(); #Create an Object
$getData->getdata(); #Call method using Object
return ob_get_clean();
}
示例:
class GetData{
public function getdata() {
//something here
}
public function TestMethod(){
$this->getdata(); #Calling Function From Inner Class
}
}
$getData = new GetData(); #Creating Object
$getData->getdata(); #Calling Public Function from Outer Class
的解释