我正在编写一个 Wordpress 插件来创建自定义 Gutenberg 块。我正在使用一个名为 Carbon Fields 的作曲家包。但是当我尝试使用这个包时,我得到了一个错误:
致命错误:未捕获的错误:在第 10 行的 /my-path/my-plugin/my-plugin.php 中找不到类“Carbon_Fields\Block”。
奇怪的是,我可以毫无问题地使用 Container 和 Field 类。
笔记
我刚刚包含了基本的文件结构和代码,以便您可以专注于重要的事情。
文件结构
- 我的插件
- 小贩
- 汉堡包
- 核
- 块.php
- Carbon_Fields.php
- 容器.php
- 字段.php
- 核
- 汉堡包
- 我的插件.php
- 小贩
代码
我的插件.php
add_action( 'after_setup_theme', 'carbon_fields_init' );
function carbon_fields_init() {
require_once plugin_dir_path( __FILE__ ) . 'vendor/autoload.php';
\Carbon_Fields\Carbon_Fields::boot();
}
use \Carbon_Fields\Block;
use \Carbon_Fields\Filed;
Block::make( __( 'Hero Image' ) )
->add_fields( array(
Field::make( 'text', 'heading', __( 'Block Heading' ) ),
) )
->set_render_callback( function ( $fields, $attributes, $inner_blocks ) {
?>
<div class="block">
<div class="block__heading">
<h1><?php echo esc_html( $fields['heading'] ); ?></h1>
</div><!-- /.block__heading -->
<?php
} );
块.php
namespace Carbon_Fields;
class Block extends Container {
public static function make() {
return call_user_func_array( array( 'parent', 'make' ), array_merge( array( 'block' ), func_get_args() ) );
}
}