Добавление элементов управления elementor group в класс вне основного класса elementor или основной функции рендеринга

#wordpress #elementor

#wordpress #elementor

Вопрос:

На данный момент у меня есть код с элементами управления Elementor group и функцией рендеринга. register_controls хорошо работает для классов, используемых в функции рендеринга. Пример кода: 'selector' => '{{WRAPPER}} .testsize управляет типографикой <h1 class="testsize> , потому что она находится в функции рендеринга, но у меня есть классы .testsize вне функции рендеринга (просто HTML, вставленный на страницу), и элементы управления для них не работают. Может быть, так и должно быть, но мне нужно зарегистрировать элементы управления для всех классов .testsize, не имеет значения, используются классы render() или нет, элементы управления должны работать для всех. Вы можете мне помочь? Спасибо

 protected function _register_controls() {

        $this->start_controls_section(
            'content_section',
            [
                'label' => __( 'Content', 'plugin-name' ),
                'tab' => ElementorControls_Manager::TAB_CONTENT,
            ]
        );

        $this->add_group_control(
            ElementorGroup_Control_Typography::get_type(),
            [
                'name' => 'title_typography',
                'selector' => '{{WRAPPER}} .testsize',
            ]
        );

        $this->end_controls_section();

    }
    protected function render() {

        $settings = $this->get_settings_for_display();

        echo '<h1 class="testsize">TEST</h1>';

    }
  

Ответ №1:

Легко исправить. Просто удалите {{WRAPPER}} из 'selector' => '{{WRAPPER}} .testsize', и проблема решена. Это невозможно использовать во время редактирования в реальном времени, но работает после сохранения прогресса.