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

问题描述 投票:0回答:1

目前我正在用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 );

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

wordpress facet facetwp
1个回答
0
投票
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';
        }

    }
© www.soinside.com 2019 - 2024. All rights reserved.