来自自定义字段复选框的 FacetWP 过滤器

FacetWP filter from custom field checkbox

我有一个名为 organic 的产品自定义字段,其值为 yes/no。我想在我们的过滤器中显示一个复选框,上面写着“有机”。并在选中时在数据库中搜索是的值。 FacetWP 中复选框的默认设置显示来自数据库的值。

如何在 FacetWP 中进行设置?

这是您完成此任务的代码,不要忘记在每次名称更改后重新编制索引。

/**
 * reindex after adding or updating this filter
 */
add_filter( 'facetwp_index_row', function( $params, $class ) {
    if ( 'new_facet' == $params['facet_name'] ) { // change my_facet to your facet's name/slug
        if ( '1' == $params['facet_value'] ) { // be careful with 1 and 0 as values - https://www.php.net/manual/en/types.comparisons.php
            $params['facet_display_value'] = 'Organic'; // text to display in the facet choices
            }
        if ( '0' == $params['facet_value'] ) {
            $params['facet_display_value'] = 'McDonalds';
            }
    }
    return $params;
}, 10, 2 );