我有一个插件,到目前为止还没有功能,并且有一个结构
class Test
{
public function __construct()
{
}
}
$wpTest = new Test();
我需要使用Carbon Fields,当我安装这个库时,我根据说明更改了结构,只是适应了OOP
use Carbon_Fields\\Container;
use Carbon_Fields\\Field;
class Test
{
public function __construct()
{
add_action( \'carbon_fields_register_fields\', array( $this, \'crb_attach_theme_options\') );
add_action( \'after_setup_theme\', array( $this , \'crb_load\' ) );
}
public function crb_load()
{
require_once( \'vendor/autoload.php\' );
\\Carbon_Fields\\Carbon_Fields::boot();
}
public function crb_attach_theme_options()
{
Container::make( \'theme_options\', __( \'Plugin Options\', \'crb\' ) )
->add_fields( array(
Field::make( \'text\', \'crb_text\', \'Text Field\' ),
) );
}
}
$wpTest = new Test();
但它不起作用,我该如何修复它?
SO网友:Nikita Dudarev
我找到了我问题的答案。从零件来看,问题是我连接了vendor/autoload.php
在访问__construct()
.
下面是解决此任务的示例
use Carbon_Fields\\Container;
use Carbon_Fields\\Field;
class PluginOption
{
public function __construct()
{
require_once( \'vendor/autoload.php\' );
\\Carbon_Fields\\Carbon_Fields::boot();
add_action( \'carbon_fields_register_fields\', array( $this, \'crb_attach_theme_options\') );
}
public function crb_attach_theme_options()
{
Container::make( \'theme_options\', __( \'Plugin Option\', \'crb\' ) )
->add_fields( array(
Field::make( \'text\', \'crb_text\', \'Text Field\' ),
) );
}
}
$wpTest = new PluginOption();