Elementor 是一个流行的 WordPress 页面构建器插件,它允许用户通过拖放界面创建自定义页面布局。Elementor 的组控件(Group Control)是一种高级功能,允许开发者将多个控件组合在一起,以便更好地管理和组织页面元素。
Elementor 的组控件允许开发者创建自定义的控件组,这些控件组可以包含多个子控件。通过这种方式,可以更灵活地管理和呈现页面元素。
Elementor 的组控件可以是静态的或动态的。静态组控件在页面加载时就已经确定,而动态组控件可以根据用户的交互或其他条件动态生成。
要将 Elementor 组控件添加到主 Elementor 类或主呈现函数之外的类中,通常需要以下步骤:
<?php
namespace MyCustomNamespace;
use Elementor\Controls_Manager;
use Elementor\Group_Control_Base;
class MyCustomGroupControl extends Group_Control_Base {
public function get_type() {
return 'my_custom_group_control';
}
protected function _register_controls() {
// 在这里注册子控件
$this->start_controls_section(
'section_content',
[
'label' => __('Content', 'my-custom-namespace'),
]
);
$this->add_control(
'title',
[
'label' => __('Title', 'my-custom-namespace'),
'type' => Controls_Manager::TEXT,
]
);
$this->end_controls_section();
}
}
functions.php
文件中注册这个新的控件类。<?php
use MyCustomNamespace\MyCustomGroupControl;
function register_my_custom_controls() {
\Elementor\Plugin::instance()->controls_manager->register_control_type(MyCustomGroupControl::class);
}
add_action('elementor/controls/loaded', 'register_my_custom_controls');
<?php
use Elementor\Widget_Base;
class MyCustomWidget extends Widget_Base {
protected function _get_control_classes() {
return ['my_custom_group_control'];
}
protected function _register_controls() {
parent::_register_controls();
// 在这里添加其他控件
}
protected function render() {
$this->render_template();
}
}
通过以上步骤,你可以将自定义的 Elementor 组控件添加到主 Elementor 类或主呈现函数之外的类中,从而增强你的 WordPress 站点的可定制性和功能性。
领取专属 10元无门槛券
手把手带您无忧上云