代码之家  ›  专栏  ›  技术社区  ›  Zoli

Wordpress-Elementor自定义小部件-条件控件

  •  0
  • Zoli  · 技术社区  · 5 年前

    选择(自定义)帖子类型->选择属于相应post类型的分类->选择属于相应分类的文章。

    这是我现在得到的,但问题是,当我选择一个post类型时,在分类列表中我有所有的分类法,而不仅仅是那些属于所选post类型的分类法。

            $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',
                ]
            );
    
    0 回复  |  直到 5 年前
        1
  •  1
  •   Firsh - justifiedgrid.com    5 年前

    为每个帖子类型创建各种分类选择。如果以编程方式创建的话,它可能会工作,所以您不需要硬编码它们。然后,仅当post类型select的值与之匹配时才显示特定的分类法select。你可以和我一起做那部分 control conditions