Я создаю свой первый элементный виджет.Мне нужно создать 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',
]
);