Wordpress - Пользовательские виджеты Elementor - условные элементы управления - PullRequest
0 голосов
/ 01 июня 2019

Я создаю свой первый элементный виджет.Мне нужно создать 3 условных элемента управления: Выберите (настраиваемый) post_type -> выберите таксономию, принадлежащую соответствующему post_type -> выберите сообщения, принадлежащие соответствующей таксономии.

Как я могу создать эти элементы управления?

Это то, что я получил до сих пор, но проблема в том, что когда я выбираю тип поста, в списке таксономий у меня есть все таксономии, а не только те, которые принадлежат к выбранному типу post_type.

        $post_types = get_post_types([], 'objects');
        $options = [];
        foreach ( $post_types as $post_type ) {
            $options[$post_type->name] = $post_type->label;
        }
        $this->add_control(
            'post_types',
            [
                'label' => __( 'Choose a post type', 'cf-elementor-apm-widget' ),
                'type' => \Elementor\Controls_Manager::SELECT,
                'options' => $options,
                'classes' => 'post_types',
            ]
        );

        $taxonomies = get_taxonomies([], 'objects');

        $options = [];
        foreach ( $taxonomies as $taxonomy ) {
            $options[$taxonomy->name] = $taxonomy->label . " [{$taxonomy->name}]";
        }

        $this->add_control(
            'taxonomies',
            [
                'label' => __( 'Choose a taxonomy', 'cf-elementor-apm-widget' ),
                'type' => \Elementor\Controls_Manager::SELECT,
                'options' => $options,
                'classes' => 'taxonomy',
            ]
        );
...