FacetWP映射根据构面选择更改映射标记

时间:2019-11-13 12:36:18

标签: wordpress facet

目前,我正在使用WordPress,FacetWP和map facet(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 );

但是我想基于另一个选择来更改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 );

如果有人可以帮助您,将不胜感激。

1 个答案:

答案 0 :(得分: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';
        }

    }