当前位置: 首页 > 知识库问答 >
问题:

高级自定义字段匹配自定义分类的自定义位置规则

孙承
2023-03-14

我正在WordPress网站上使用高级自定义字段插件。我的目标是在选择自定义分类法中的任何术语时,使用自定义位置规则来显示自定义字段组。

在ACF站点上的自定义位置规则教程之后,我向规则行添加了自定义类型、运算符和值。

我的匹配函数(下面的代码)只在重新加载页面时起作用,而不是通过AJAX。如何将自定义分类添加到$options数组中,以便在选中/取消选中自定义分类术语时,可以通过AJAX评估匹配函数。

function acf_location_rules_match_taxonomyTerm( $match, $rule, $options ){
    // vars
    $taxonomies = get_object_taxonomies( $options['post_type'] );
    $terms = $options['taxonomy'];
    // not AJAX
    if( !$options['ajax'] ){
        // no terms? Load them from the post_id
        if( empty($terms) ){
            if( is_array($taxonomies) ){
                foreach( $taxonomies as $tax ){
                    $all_terms = get_the_terms( $options['post_id'], $tax );
                    if($all_terms){
                        foreach($all_terms as $all_term){
                            $terms[] = $all_term->term_id;
                        }
                    }
                }
            }
        }
        if($rule['operator'] == "<==>"){
            $match = false;
            if($terms){
                $current_terms = get_the_terms($options['post_id'], $rule['value']);
                if ( $current_terms && ! is_wp_error( $terms ) ) {
                    $current_term_ids = array();
                    foreach ($current_terms as $current_term) {
                        $current_term_ids[] = $current_term->term_id;
                    }
                }
                foreach ($current_term_ids as $current_term_id) {
                    if( in_array($current_term_id, $terms) ){
                        $match = true;
                    }
                }
            }
        }
        else{
            $match = false;
        }
    }
    return $match;
}

共有1个答案

鲁斯伯
2023-03-14

你用这个插件试过了吗?也许会有帮助。虽然有点晚了

https://wordpress.org/plugins/advanced-custom-fields-meta-location-rule/

 类似资料:
  • 我在修改我安装的WordPress流行帖子插件时遇到了一些问题。 它可以选择从自定义字段获取缩略图,我已将其输入为“image_facebook”。但是缩略图没有显示。 在检查代码时,我发现imgsrc有post id而不是返回图像URL。 我已经把问题缩小到我安装的另一个插件http://wordpress.org/plugins/advanced-custom-fields/ 当它处于活动状态

  • 在Wordpress中,我创建了一个名为“Sports”的自定义帖子类型,其分类法为“sport_locations”。使用高级自定义字段(ACF)插件,我创建了用于显示分类术语的字段。我把一切都准备好了,但是我在输出上传的图像时遇到了问题。 在ACF中,我可以选择图像的返回值为:对象,url或ID。现在我已将其设置为对象。 下面是我到目前为止的代码。我正在single-sports.php中编写

  • 我正在使用高级自定义字段插件,我试图通过分类字段过滤一些自定义帖子,修改WP_Query: 如果我尝试通过文本字段过滤一切正常,WP_Query被修改。但是当字段是一个分类法字段时,我不知道应该传递什么参数,因为它是一个对象。我尝试了分类法名称和分类法ID,但不起作用。 是否可以通过分类字段进行筛选?我应该传递的什么参数?谢谢! 更新-结构: 自定义帖子:“递归操作系统” 自定义分类Slug:'r

  • 介绍 model 参考文档已经介绍了如何使用 Django 的标准字段类;例如 CharField, DateField,等等。对于很多应用来说,这些类足够用了。 但是在某些情况下, 你所用的Django 不具备你需要的某些精巧功能,或是你想使用的字段与 Django 自带字段完全不同。 Django 内置的字段类型并不能覆盖所有可能遇到的数据库的列类型,仅仅是些普通的字段类型,例如VARCHAR

  • MOSN 自定义配置说明。 本文是对 MOSN 自定义配置的说明。 Duration String 字符串,由一个十进制数字和一个时间单位后缀组成,有效的时间单位为 ns、us(或?s)、ms、s、m、h,例如 1h、3s、500ms。 metadata metadata 用于 MOSN 路由和 Cluster Host 之间的匹配。 { "filter_metadata":{ "mo

  • 如果你想自定义 Next.js 的高级配置,可以在根目录下新建next.config.js文件(与pages/ 和 package.json一起) 注意:next.config.js是一个 Node.js 模块,不是一个 JSON 文件,可以用于 Next 启动服务已经构建阶段,但是不作用于浏览器端。 // next.config.js module.exports = { /* config

  • 在2019年7月(版本2.20190722)中,添加了更编纂的字段API。 它旨在尽可能地向后兼容。 这意味着,如果您在2019年7月之前创建了自定义字段,则很有可能会继续工作。 在决定是否需要升级自定义字段之前,应通读“危险区域”部分,并对您的字段进行全面测试。 由于在2019年7月之前字段之间缺乏标准化,因此很难涵盖开发人员可能需要进行的所有更改。 本文档尝试涵盖所有可能的更改,但是如果本文档

  • 所以我在一个以FoundationPress为主题的wordpress站点上工作,最近我将ACF升级到了Pro版本,允许repeater字段。所以我试着让客户用中继器添加新的社交媒体帐户。 http://imgur.com/ft58spd http://imgur.com/mydpawl 上面您可以看到中继器是如何在后端设置的。 header.php: 没有任何东西输出到HTML中。 如果我遗漏了