wordpress elementor加载项正在从selectors属性中的另一个控件获取响应值

li9yvcax  于 2022-12-22  发布在  WordPress
关注(0)|答案(1)|浏览(108)

你好,我正在开发一个Elementor插件,我有一个转换设置在我的小工具,像这样:

$repeater->add_responsive_control(
        'rp_translatex_header' , 
        [
            'label' => esc_html('Header Translate X ') , 
            'type' => \Elementor\Controls_Manager::NUMBER , 
            'devices' => [ 'desktop', 'tablet', 'mobile' ],
            'min' => -100,
            'max' => 100,
            'selectors' => [
                '{{WRAPPER}} {{CURRENT_ITEM}} hth' => 'transform:translate({{VALUE}}vw,{{rp_translatey_header.VALUE}}vh)',
            ]
        ]
    );

在选择器中,我为translateY使用了另一个控制值,这在响应模式之前工作正常!在移动的或平板电脑上,来自另一个控件的translateY值不起作用,并返回桌面值(窗体目标控件)要修复这个问题,我应该使用rp_translatey_header_移动的.VALUE获取移动模式值!但这不是我修复这个问题的理想方法,我'I“我确信这是一种方法,我想要这样的结果:

'selectors' => [
    // for normal mode (desktop) 
   '{{WRAPPER}} {{CURRENT_ITEM}} div' => 
    'transform:translate({{VALUE}}vw,{{rp_translatey_header.VALUE}}vh)', 

    // for mobile mode  
   '{{WRAPPER}} {{CURRENT_ITEM}} div' => 
    'transform:translate({{VALUE}}vw,{{rp_translatey_header_mobile.VALUE}}vh)', 
 
  ]
yws3nbqq

yws3nbqq1#

我可以通过{{your_control_id.VALUE}}很好地获取值,因为我在响应模式下遇到问题,{{your_control_id.VALUE}}只返回桌面上的值,在移动的模式下它将再次返回桌面值!我该怎么办?使用your_control_id_mobile将解决问题,但我想使用所有模式值!我怎么能告诉控制和选择器在哪个屏幕使用桌面和移动的
我找到了解决方案!我又添加了两个选择器,就在{{WRAPPER}}之前,我添加了(移动的)/(Tablet)/(Desktop),如下所示:

'selectors' => [
                    '(desktop){{WRAPPER}} {{CURRENT_ITEM}} div' => 'transform:translate({{rp_translatex_text.VALUE}}vw,{{VALUE}}vh)',
                    '(tablet){{WRAPPER}} {{CURRENT_ITEM}} div' => 'transform:translate({{rp_translatex_text_tablet.VALUE}}vw,{{VALUE}}vh)',
                    '(mobile){{WRAPPER}} {{CURRENT_ITEM}} div' => 'transform:translate({{rp_translatex_text_mobile.VALUE}}vw,{{VALUE}}vh)',
                ] ,

并且对于每个响应模式获取响应ID,如your_id_移动的.VALUE!

相关问题