Add custom metafields
-
He Tijmen,
I followed your tutorial on adding custom metafields: https://wpstorelocator.co/document/add-custom-meta-data-to-store-locations/
I want to add two different fields. Name and Job description.
I have this code now:
/* Add name to Storelocator */ add_filter( 'wpsl_meta_box_fields', 'custom_meta_box_fields' ); function custom_meta_box_fields( $meta_fields ) { $meta_fields[__( 'Additional Information', 'wpsl' )] = array( 'name' => array( 'label' => __( 'Name', 'wpsl' ) ), 'jobdescription' => array( 'label' => __( 'Job description', 'wpsl' ) ), 'phone' => array( 'label' => __( 'Tel', 'wpsl' ) ), 'fax' => array( 'label' => __( 'Fax', 'wpsl' ) ), 'email' => array( 'label' => __( 'Email', 'wpsl' ) ), 'url' => array( 'label' => __( 'Url', 'wpsl' ) ) ); return $meta_fields; } /* Store extra fields in JSON */ add_filter( 'wpsl_frontend_meta_fields', 'custom_frontend_meta_fields' ); function custom_frontend_meta_fields( $store_fields ) { $store_fields['wpsl_name'] = array( 'name' => 'name', 'type' => 'text' ); $store_fields['wpsl_jobdescription'] = array( 'name' => 'name', 'type' => 'text' ); return $store_fields; } /* Show extra fields on the frontend */ add_filter( 'wpsl_info_window_template', 'custom_listing_template' ); function custom_listing_template() { global $wpsl_settings; $listing_template = '<li data-store-id="<%= id %>">' . "\r\n"; $listing_template .= "\t\t" . '<div>' . "\r\n"; $listing_template .= "\t\t\t" . '<p><%= thumb %>' . "\r\n"; $listing_template .= "\t\t\t\t" . wpsl_store_header_template( 'listing' ) . "\r\n"; $listing_template .= "\t\t\t\t" . '<span class="wpsl-street"><%= address %></span>' . "\r\n"; $listing_template .= "\t\t\t\t" . '<% if ( address2 ) { %>' . "\r\n"; $listing_template .= "\t\t\t\t" . '<span class="wpsl-street"><%= address2 %></span>' . "\r\n"; $listing_template .= "\t\t\t\t" . '<% } %>' . "\r\n"; $listing_template .= "\t\t\t\t" . '<span>' . wpsl_address_format_placeholders() . '</span>' . "\r\n"; $listing_template .= "\t\t\t\t" . '<span class="wpsl-country"><%= country %></span>' . "\r\n"; $listing_template .= "\t\t\t" . '</p>' . "\r\n"; // Check if the 'name' contains data before including it. $listing_template .= "\t\t\t" . '<% if ( name ) { %>' . "\r\n"; $listing_template .= "\t\t\t" . '<p>' . __( 'Name', 'wpsl' ) . '</p>' . "\r\n"; $listing_template .= "\t\t\t" . '<% } %>' . "\r\n"; $listing_template .= "\t\t" . '</div>' . "\r\n"; // Check if the 'name' contains data before including it. $listing_template .= "\t\t\t" . '<% if ( jobdescription ) { %>' . "\r\n"; $listing_template .= "\t\t\t" . '<p>' . __( 'Job description', 'wpsl' ) . '</p>' . "\r\n"; $listing_template .= "\t\t\t" . '<% } %>' . "\r\n"; $listing_template .= "\t\t" . '</div>' . "\r\n"; // Check if we need to show the distance. if ( !$wpsl_settings['hide_distance'] ) { $listing_template .= "\t\t" . '<%= distance %> ' . esc_html( $wpsl_settings['distance_unit'] ) . '' . "\r\n"; } $listing_template .= "\t\t" . '<%= createDirectionUrl() %>' . "\r\n"; $listing_template .= "\t" . '</li>' . "\r\n"; return $listing_template; }
But in the console it says: job_description not defined.
The info will not show on the map.
What am I doing wrong?
Viewing 3 replies - 1 through 3 (of 3 total)
Viewing 3 replies - 1 through 3 (of 3 total)
- The topic ‘Add custom metafields’ is closed to new replies.