На данный момент я работаю над проектом с 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 );

Но я хотел бы изменить маркерURL на основе другого выбора аспекта. К сожалению, я не знаю, как получить значение другого аспекта внутри этого фильтра. Я пробовал что-то вроде этого (но это не работает):

// 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 );

Если бы кто-нибудь мог помочь, это было бы очень признательно.

0
Job Kuipers 13 Ноя 2019 в 15:36

1 ответ

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';
        }

    }
1
David Buck 24 Апр 2020 в 17:45