首页 > 解决方案 > 动态数据作为 Elementor 控件的选项值

问题描述

我正在做一个自定义的 Elementor 小部件(在 Wordpress 中),我正在尝试让一个 Select 控件将来自另一个控件的数据作为选项。这是我的代码

 $property_types = array(
            'type1_slug'=>'type1_label',
            'type2_slug'=>'type2_label',
            'type3_slug'=>'type3_label',
            'type4_slug'=>'type4_label',
            'type5_slug'=>'type5_label',
        );

$this->add_control(
                'type_data',
                [
                    'label'     => esc_html__( 'Select Types', 'elementor' ),
                    'type'      => Controls_Manager::SELECT2,
                    'options'   => $property_types,
                    'description' => '',
                    'multiple' => true,
                    'label_block' => true,
                    'default' => '',
                   
                ]
            );
///////// a repeater is defined....

$repeater = new Repeater();
$repeater->add_control(
                'tab_holder', [
                    'label' => esc_html__('select Tabs', 'elementor'),
                    'type' => Controls_Manager::SELECT,
                    'options' => '' ,
                    'default' => 'type1_slug',
                ]
        );

我想要做的是将我在“type_data”中选择的值作为“tab_holder”中的选项。谢谢

标签: wordpresselementor

解决方案


此代码从数据库中获取类分类并显示在 Elementor select2 控件中。显示动态下拉菜单。

 $categories = get_categories();
   $items = array();
   foreach( $categories as $category ) {
    $items[] = $category->name;
   }
    $this->add_control(
          'show_category',
          [
            'label' => __( 'Category', 'plugin-domain' ),
            'type' => \Elementor\Controls_Manager::SELECT2,
            'multiple' => true,
            'options' => $items,
            'default' => [],
          ]
        );

推荐阅读