tparushev / carbon-section-builder
用于使用 Carbon Fields 构建部分构建器的辅助工具。
1.0.8
2020-03-31 06:38 UTC
Requires
- php: >=5.6.0
README
用于使用 Carbon Fields 构建部分构建器的辅助工具。
快速设置
通过命名空间扩展 Base_Section 类以创建自己的部分。你可以在 examples/
文件夹中找到示例。
扩展部分类必须包含返回包含 Carbon_Field 的数组的 fields 方法,并设置 set_name 方法以设置部分名称。示例
class Home_Intro extends Base_Section {
public function set_name() {
$this->name = __( 'Home Intro2', 'crb' );
}
public function fields() {
return array(
Field::make( 'file', 'first_image', __( 'Image', 'crb' ) )
->set_width( 50 ),
Field::make( 'file', 'second_image', __( 'Image', 'crb' ) )
->set_width( 50 ),
Field::make( 'rich_text', 'content', __( 'Content', 'crb' ) ),
);
}
}
部分构建器在 Carbon Fields 容器中如下使用
use Carbon_Fields\Container\Container;
use Carbon_Section_Builder\Builder;
use Sections\Home_Intro\Home_Intro;
use Sections\Home_News\Home_News;
Container::make( 'post_meta', __( 'Page Sections' ,'text-domain' ) )
->where( 'post_type', '=', 'page' )
->add_fields(
array( Builder::make( 'crb_sections', __( 'Home Sections', 'text-domain' ) )
->add_section( Home_Intro::make() )
->add_section( Home_News::make() )
->load()
)
);
要在某些模板中渲染部分,请使用 Section_Renderer 类或扩展 Renderer 接口。示例
use Carbon_Section_Builder\Renderer\Sections_Renderer;
get_header();
Sections_Renderer::init( 'crb_sections' )->render();
get_footer();