我通过这3个动作向所有元素添加了自定义控件
add_action( 'elementor/element/section/section_custom_css/after_section_end', array($this,'_action_add_custom_options'), 10, 2 );
add_action( 'elementor/element/column/section_custom_css/after_section_end', array($this,'_action_add_custom_options'), 10, 2 );
add_action( 'elementor/element/common/section_custom_css/after_section_end', array($this,'_action_add_custom_options'), 10, 2 );
我可以通过以下方式将我的类或数据属性添加到所有元素包装器中
add_action( 'elementor/frontend/before_render', array($this,'_action_element_add_attr'), 10, 2);
public function _action_element_add_attr( $element ){
$settings = $element->get_settings();
if ( isset( $settings['something'] ) && 'yes' === $settings['something'] ) {
$element->add_render_attribute( '_wrapper', 'class', 'my-class' );
$element->add_render_attribute( '_wrapper', 'data-mydata', 'data' );
}
}
但是我们如何在编辑器预览中做到这一点?
我通过elementorFrontend.hooks.addAction('frontend / element_ready / global'尝试过,但是范围没有选项,我不确定您是否期望我们过滤低谷元素类和属性,或者之间是否存在简单的同步元素渲染和_content_template
我要做的就是在预览时添加/删除数据属性和类。