0

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

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

4

1 回答 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';
        }

    }
于 2020-04-24T14:25:48.827 回答