首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将自定义显示条件添加到Elementor主题生成器中,用于自定义分类子代、孙子和曾孙。

将自定义显示条件添加到Elementor主题生成器中,用于自定义分类子代、孙子和曾孙。
EN

WordPress Development用户
提问于 2022-12-03 12:52:12
回答 1查看 393关注 0票数 0

我有一些模板与元素或主题生成器。但是,在嵌套档案中显示它们的选项非常有限。这是我的案子

我有一个叫做位置的自定义分类(标签)。然后,在添加清单时进一步嵌套。它获取地址并将其细分为区域、城市和地区,然后插入设置条件。这里没有戏剧。这就是它的样子。

我在主题构建器中内置了以下模板。

  1. 区域模板(适用于Waikato,也适用于所有其他区域)
  2. 城市模板(适用于汉密尔顿以及其他所有城市)
  3. 地区模板(适用于Frankton 3204,全部适用于所有其他地区)
  4. 服务模板(适用于弗兰克顿的咖啡店,也适用于所有其他服务)

元素只允许将模板应用到

  1. 所有地点(这包括儿童的条件)
  2. 直属各地的儿童
  3. 任何地点的孩子

但是,在我的例子中,我想将4个不同的模板应用到父(地区)、子(城市)、孙子(地区)和曾孙(在本地的服务)。

元素允许在主题构建器中注册自定义条件,但是,我不能。欢迎!

代码语言:javascript
复制
add_action( 'elementor/theme/register_conditions', function( $conditions_manager ) { 
class Subcategory_Archive extends ElementorPro\Modules\ThemeBuilder\Conditions\Taxonomy {
    private $taxonomy;

    public function get_name() {
        return 'child_of_' . $this->taxonomy->name;
    }

    public function get_label() {
        return sprintf( __( 'Direct Child %s Of', 'elementor-pro' ), $this->taxonomy->labels->singular_name );
    }

    public function __construct( $data ) {
        parent::__construct( $data );

        $this->taxonomy = $data['object'];
    }

    public function is_term() {
        $taxonomy = $this->taxonomy->name;
        $current = get_queried_object();
        return ( $current && isset( $current->taxonomy ) && $taxonomy === $current->taxonomy );
    }

    public function check( $args ) {
        $id = (int) $args['id'];
        /**
         * @var \WP_Term $current
         */
        $current = get_queried_object();
        if ( ! $this->is_term() || 0 === $current->parent ) {
            return false;
        }

        while ( $current->parent > 0 ) {
            if ( $id === $current->parent ) {
                return true;
            }
            $current = get_term_by( 'id', $current->parent, $current->taxonomy );
        }

        return $id === $current->parent;
    }
}
$taxonomy = get_term('location');

$conditions_manager->get_condition( 'listing' )->register_sub_condition( new Subcategory_Archive([ 'object' => $taxonomy ]) );
}, 100 );

我需要帮助,为档案页注册自定义条件,以显示这些分类单元。

注:有个别选择每个学期和应用模板。然而,我有超过2500种上市类别(即咖啡店)和数以千计的地方和城市。我可以管理区域,因为在新西兰只有16个地区。

元素文档:https://developers.elementor.com/docs/theme-conditions/

EN

回答 1

WordPress Development用户

发布于 2023-04-19 09:35:47

你在那个问题上还有什么进展吗?我现在也面临着同样的问题

<#>更新

每个人在解决这个问题上都有困难,请看一看@ elementors问题。魔术在于检查函数。

https://github.com/elementor/elementor/issues/8155

票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/411801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档