FacetWP地图根据面的选择改变地图标记。

目前我正在用WordPress、FacetWP和地图面(FacetWP自带的)做一个项目。我做了一个自定义的标记,像这样显示在地图上。

// Custom markers for Map
add_filter( 'facetwp_map_marker_args', function( $args, $post_id ) {

  $markerUrl = get_bloginfo('template_url') . '/img/dealer-pin.png';

  $args['icon'] = array(
    'url' => $markerUrl,
    'scaledSize' => array(
      'width' => 23,
      'height' => 30
    )
  );
  return $args;
}, 10, 2 );

但我想根据另一个Facet的选择来改变markerURL。不幸的是,我不知道如何在这个过滤器中获取其他面的值。我试过类似这样的方法(但是没有用)。

// Custom markers for Map
add_filter( 'facetwp_map_marker_args', function( $args, $post_id ) {

  if( 'bezoekertype' == $args['facet']['name'] ) {
    if( $args['facet']['values'] == 'toon-bij-zakelijk' ) {
      return $markerUrl = get_bloginfo('template_url') . '/img/dealer-pin-2.png';
    } else {
      return $markerUrl = get_bloginfo('template_url') . '/img/dealer-pin.png';
    }
  }

  $args['icon'] = array(
    'url' => $markerUrl,
    'scaledSize' => array(
      'width' => 23,
      'height' => 30
    )
  );
  return $args;
}, 10, 2 );

如果有人能帮我,我将非常感激。

解决方案:

add_filter( 'facetwp_map_marker_args', function( $args, $post_id ) {
    $terms = wp_get_post_terms( $post_id, 'category' ); 

    foreach ( $terms as $term ) {
        if ( 'premium' == $term->slug ) {
            $args['icon'] = 'image1.png';
        }
        else {
            $args['icon'] = 'image2.png';
        }

    }

给TA打赏
共{{data.count}}人
人已打赏
未分类

在反应中带有参数的路线

2022-9-9 6:47:17

未分类

基于元素值的Laravel过滤器数组

2022-9-9 6:47:19

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索