Version Description
(2020-10-13) = - This is a relatively big update with several new features and corrections, etc., so please take caution and test before updating on a live site (or wait a few days before updating in case some minor corrective updates need to be released). - Switched the structured data generated by the contact card to the new JSON-LD format. - Added an option for a separate "click to call" phone number, applicable both to the main settings and to specific locations. - Added a fallback functionality, so that, if you do not fill in a specific field (e.g. phone number) for an individual location, it will use what you set in the main settings. - Added an option to turn off the automatic insertion of the contact card on the specified contact page. - Added exceptions, so you now have the ability to have specific days that are either closed or have different hours (e.g. holidays), without having to alter your main schedule. Applicable both in the main settings and for specific locations. - Added a button to the admin bar with a link to test the current page in Google's Rich Results Test. - Added in a German translation that was submitted to us. - Generated a new .pot file.
Release Info
Developer | Rustaurius |
Plugin | Business Profile |
Version | 2.1.0 |
Comparing to | |
See all releases |
Code changes from version 2.0.9 to 2.1.0
- assets/css/contact-card.css +1 -0
- assets/js/dashboard-review-ask.js +4 -4
- business-profile.php +31 -5
- includes/class-custom-post-types.php +115 -8
- includes/class-settings.php +132 -32
- includes/template-functions.php +249 -47
- languages/business-profile-de_DE.mo +0 -0
- languages/business-profile-de_DE.po +688 -0
- languages/business-profile.pot +695 -659
- readme.txt +17 -3
- templates/contact-card.php +17 -4
@@ -15,6 +15,7 @@
|
|
15 |
.bp-opening-hours .bp-title {
|
16 |
text-align: center;
|
17 |
display: block;
|
|
|
18 |
}
|
19 |
.bp-weekday:before,
|
20 |
.bp-weekday:after {
|
15 |
.bp-opening-hours .bp-title {
|
16 |
text-align: center;
|
17 |
display: block;
|
18 |
+
margin-bottom: 10px;
|
19 |
}
|
20 |
.bp-weekday:before,
|
21 |
.bp-weekday:after {
|
@@ -1,10 +1,10 @@
|
|
1 |
jQuery(document).ready(function($) {
|
2 |
jQuery('.bpfwp-main-dashboard-review-ask').css('display', 'block');
|
3 |
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
|
9 |
jQuery('.bpfwp-review-ask-yes').on('click', function() {
|
10 |
jQuery('.bpfwp-review-ask-feedback-text').removeClass('bpfwp-hidden');
|
1 |
jQuery(document).ready(function($) {
|
2 |
jQuery('.bpfwp-main-dashboard-review-ask').css('display', 'block');
|
3 |
|
4 |
+
jQuery(document).on('click', '.bpfwp-main-dashboard-review-ask .notice-dismiss', function(event) {
|
5 |
+
var data = 'ask_review_time=7&action=bpfwp_hide_review_ask';
|
6 |
+
jQuery.post(ajaxurl, data, function() {});
|
7 |
+
});
|
8 |
|
9 |
jQuery('.bpfwp-review-ask-yes').on('click', function() {
|
10 |
jQuery('.bpfwp-review-ask-feedback-text').removeClass('bpfwp-hidden');
|
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: Five Star Business Profile and Schema
|
4 |
* Plugin URI: https://www.fivestarplugins.com/plugins/business-profile/
|
5 |
* Description: Add schema structured data to any page or post type. Create an SEO friendly contact card with your business info and associated schema. Supports Google Map, opening hours and more.
|
6 |
-
* Version: 2.0
|
7 |
* Author: Five Star Plugins
|
8 |
* Author URI: https://www.fivestarplugins.com
|
9 |
* License: GPLv3
|
@@ -65,8 +65,10 @@ if ( ! class_exists( 'bpfwpInit', false ) ) :
|
|
65 |
// Add the admin menu
|
66 |
add_action( 'admin_menu', array( $this, 'add_menu_page' ) );
|
67 |
|
|
|
|
|
|
|
68 |
// Load permissions and handle combination
|
69 |
-
require_once( BPFWP_PLUGIN_DIR . '/includes/class-permissions.php' );
|
70 |
$this->permissions = new bpfwpPermissions();
|
71 |
|
72 |
// Load plugin dashboard
|
@@ -82,7 +84,31 @@ if ( ! class_exists( 'bpfwpInit', false ) ) :
|
|
82 |
'manage_options',
|
83 |
'bpfwp-business-profile',
|
84 |
'',
|
85 |
-
'dashicons-businessperson'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
);
|
87 |
}
|
88 |
|
@@ -114,7 +140,7 @@ if ( ! class_exists( 'bpfwpInit', false ) ) :
|
|
114 |
require_once BPFWP_PLUGIN_DIR . '/includes/class-deactivation-survey.php';
|
115 |
require_once BPFWP_PLUGIN_DIR . '/includes/class-installation-walkthrough.php';
|
116 |
require_once BPFWP_PLUGIN_DIR . '/includes/class-integrations.php';
|
117 |
-
|
118 |
require_once BPFWP_PLUGIN_DIR . '/includes/class-review-ask.php';
|
119 |
require_once BPFWP_PLUGIN_DIR . '/includes/class-schemas-manager.php';
|
120 |
require_once BPFWP_PLUGIN_DIR . '/includes/schemas/class-schema.php';
|
@@ -334,7 +360,7 @@ if ( ! class_exists( 'bpfwpInit', false ) ) :
|
|
334 |
return $content;
|
335 |
}
|
336 |
|
337 |
-
if ( $post->ID == $this->settings->get_setting( 'contact-page' ) ) {
|
338 |
return $content . bpwfwp_print_contact_card();
|
339 |
}
|
340 |
|
3 |
* Plugin Name: Five Star Business Profile and Schema
|
4 |
* Plugin URI: https://www.fivestarplugins.com/plugins/business-profile/
|
5 |
* Description: Add schema structured data to any page or post type. Create an SEO friendly contact card with your business info and associated schema. Supports Google Map, opening hours and more.
|
6 |
+
* Version: 2.1.0
|
7 |
* Author: Five Star Plugins
|
8 |
* Author URI: https://www.fivestarplugins.com
|
9 |
* License: GPLv3
|
65 |
// Add the admin menu
|
66 |
add_action( 'admin_menu', array( $this, 'add_menu_page' ) );
|
67 |
|
68 |
+
// Add a link to the Google Rich Results Test Page for front-end pages
|
69 |
+
add_action( 'admin_bar_menu', array( $this, 'add_admin_bar_link' ), 100 );
|
70 |
+
|
71 |
// Load permissions and handle combination
|
|
|
72 |
$this->permissions = new bpfwpPermissions();
|
73 |
|
74 |
// Load plugin dashboard
|
84 |
'manage_options',
|
85 |
'bpfwp-business-profile',
|
86 |
'',
|
87 |
+
'dashicons-businessperson',
|
88 |
+
51
|
89 |
+
);
|
90 |
+
}
|
91 |
+
|
92 |
+
/**
|
93 |
+
* Add a link to the Google Rich Results Test Page to front-end pages
|
94 |
+
*
|
95 |
+
* @since 2.1.0
|
96 |
+
* @return void
|
97 |
+
*/
|
98 |
+
public function add_admin_bar_link( $admin_bar ) {
|
99 |
+
|
100 |
+
if ( is_admin() ) { return; }
|
101 |
+
|
102 |
+
$admin_bar->add_node(
|
103 |
+
array(
|
104 |
+
'id' => 'business_profile_test_link',
|
105 |
+
'title' => 'Test Schema',
|
106 |
+
'href' => 'https://search.google.com/test/rich-results?url=' . get_the_permalink(),
|
107 |
+
'meta' => array(
|
108 |
+
'target' => 'blank',
|
109 |
+
'title' => 'View Google Schema Test Results'
|
110 |
+
)
|
111 |
+
)
|
112 |
);
|
113 |
}
|
114 |
|
140 |
require_once BPFWP_PLUGIN_DIR . '/includes/class-deactivation-survey.php';
|
141 |
require_once BPFWP_PLUGIN_DIR . '/includes/class-installation-walkthrough.php';
|
142 |
require_once BPFWP_PLUGIN_DIR . '/includes/class-integrations.php';
|
143 |
+
require_once BPFWP_PLUGIN_DIR . '/includes/class-permissions.php';
|
144 |
require_once BPFWP_PLUGIN_DIR . '/includes/class-review-ask.php';
|
145 |
require_once BPFWP_PLUGIN_DIR . '/includes/class-schemas-manager.php';
|
146 |
require_once BPFWP_PLUGIN_DIR . '/includes/schemas/class-schema.php';
|
360 |
return $content;
|
361 |
}
|
362 |
|
363 |
+
if ( $post->ID == $this->settings->get_setting( 'contact-page' ) and ! $this->settings->get_setting( 'disable-contact-page-card' ) ) {
|
364 |
return $content . bpwfwp_print_contact_card();
|
365 |
}
|
366 |
|
@@ -232,6 +232,16 @@ if ( ! class_exists( 'bpfwpCustomPostTypes', false ) ) :
|
|
232 |
'priority' => 'default',
|
233 |
),
|
234 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
235 |
// Metabox to create Schema for specific post types, categories, etc.
|
236 |
array(
|
237 |
'id' => 'bpfwp_schema_targeting_information',
|
@@ -432,6 +442,13 @@ if ( ! class_exists( 'bpfwpCustomPostTypes', false ) ) :
|
|
432 |
<input type="tel" name="phone" id="bpfwp_phone" value="<?php esc_attr_e( get_post_meta( $post->ID, 'phone', true ) ); ?>">
|
433 |
</div>
|
434 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
435 |
<?php
|
436 |
}
|
437 |
|
@@ -464,6 +481,27 @@ if ( ! class_exists( 'bpfwpCustomPostTypes', false ) ) :
|
|
464 |
<?php
|
465 |
}
|
466 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
467 |
/**
|
468 |
* Output the metabox HTML to customize a new schema post
|
469 |
*
|
@@ -698,6 +736,56 @@ if ( ! class_exists( 'bpfwpCustomPostTypes', false ) ) :
|
|
698 |
}
|
699 |
|
700 |
return $scheduler;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
701 |
}
|
702 |
|
703 |
/**
|
@@ -728,14 +816,16 @@ if ( ! class_exists( 'bpfwpCustomPostTypes', false ) ) :
|
|
728 |
}
|
729 |
|
730 |
$post_meta = array(
|
731 |
-
'schema_type'
|
732 |
-
'geo_address'
|
733 |
-
'geo_latitude'
|
734 |
-
'geo_longitude'
|
735 |
-
'phone'
|
736 |
-
'
|
737 |
-
'
|
738 |
-
'
|
|
|
|
|
739 |
);
|
740 |
|
741 |
foreach ( $post_meta as $key => $sanitizer ) {
|
@@ -821,6 +911,23 @@ if ( ! class_exists( 'bpfwpCustomPostTypes', false ) ) :
|
|
821 |
return $scheduler->sanitize_callback_wrapper( $values );
|
822 |
}
|
823 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
824 |
/**
|
825 |
* Automatically append a contact card to `the_content` on location
|
826 |
* single pages
|
232 |
'priority' => 'default',
|
233 |
),
|
234 |
|
235 |
+
// Metabox to enter exceptions.
|
236 |
+
array(
|
237 |
+
'id' => 'bpfwp_exceptions_metabox',
|
238 |
+
'title' => __( 'Exceptions', 'business-profile' ),
|
239 |
+
'callback' => array( $this, 'print_exceptions_metabox' ),
|
240 |
+
'post_type' => $this->location_cpt_slug,
|
241 |
+
'context' => 'normal',
|
242 |
+
'priority' => 'default',
|
243 |
+
),
|
244 |
+
|
245 |
// Metabox to create Schema for specific post types, categories, etc.
|
246 |
array(
|
247 |
'id' => 'bpfwp_schema_targeting_information',
|
442 |
<input type="tel" name="phone" id="bpfwp_phone" value="<?php esc_attr_e( get_post_meta( $post->ID, 'phone', true ) ); ?>">
|
443 |
</div>
|
444 |
|
445 |
+
<div class="bpfwp-meta-input bpfwp-meta-clickphone">
|
446 |
+
<label for="bpfwp_clickphone">
|
447 |
+
<?php esc_html_e( 'Click-to-Call Phone Number', 'business-profile' ); ?>
|
448 |
+
</label>
|
449 |
+
<input type="tel" name="clickphone" id="bpfwp_clickphone" value="<?php esc_attr_e( get_post_meta( $post->ID, 'clickphone', true ) ); ?>">
|
450 |
+
</div>
|
451 |
+
|
452 |
<?php
|
453 |
}
|
454 |
|
481 |
<?php
|
482 |
}
|
483 |
|
484 |
+
|
485 |
+
/**
|
486 |
+
* Output the metabox HTML to define exceptions
|
487 |
+
*
|
488 |
+
* @since 1.1
|
489 |
+
* @access public
|
490 |
+
* @param WP_Post $post The current post object.
|
491 |
+
* @return void
|
492 |
+
*/
|
493 |
+
public function print_exceptions_metabox( $post ) {
|
494 |
+
|
495 |
+
$exceptions = $this->get_exceptions_meta_object( get_post_meta( $post->ID, 'exceptions', true ) );
|
496 |
+
?>
|
497 |
+
|
498 |
+
<div class="bpfwp-meta-input bpfwp-meta-exceptions">
|
499 |
+
<?php $exceptions->display_setting(); ?>
|
500 |
+
</div>
|
501 |
+
|
502 |
+
<?php
|
503 |
+
}
|
504 |
+
|
505 |
/**
|
506 |
* Output the metabox HTML to customize a new schema post
|
507 |
*
|
736 |
}
|
737 |
|
738 |
return $scheduler;
|
739 |
+
|
740 |
+
}
|
741 |
+
|
742 |
+
public function get_exceptions_meta_object( $values = null ) {
|
743 |
+
|
744 |
+
require_once BPFWP_PLUGIN_DIR . '/includes/class-sap-scheduler-meta.php';
|
745 |
+
$exceptions = new bpfwpSAPSchedulerMeta(
|
746 |
+
array(
|
747 |
+
'page' => 'dummy_page', // Required but not used.
|
748 |
+
'id' => 'exceptions',
|
749 |
+
'title' => __( 'Exceptions', 'business-profile' ),
|
750 |
+
'description' => __( "Define special opening hours for holidays, events or other needs. Leave the time empty if you're closed all day.", 'business-profile' ),
|
751 |
+
'time_format' => _x( 'h:i A', 'Time format displayed in the opening hours setting panel in your admin area. Must match formatting rules at http://amsul.ca/pickadate.js/time.htm#formats', 'business-profile' ),
|
752 |
+
'date_format' => _x( 'mmmm d, yyyy', 'Date format displayed in the opening hours setting panel in your admin area. Must match formatting rules at http://amsul.ca/pickadate.js/date.htm#formatting-rules', 'business-profile' ),
|
753 |
+
'disable_weekdays' => true,
|
754 |
+
'disable_weeks' => true,
|
755 |
+
'strings' => array(
|
756 |
+
'add_rule' => __( 'Add another exception', 'business-profile' ),
|
757 |
+
'weekly' => _x( 'Weekly', 'Format of a scheduling rule', 'business-profile' ),
|
758 |
+
'monthly' => _x( 'Monthly', 'Format of a scheduling rule', 'business-profile' ),
|
759 |
+
'date' => _x( 'Date', 'Format of a scheduling rule', 'business-profile' ),
|
760 |
+
'weekdays' => _x( 'Days of the week', 'Label for selecting days of the week in a scheduling rule', 'business-profile' ),
|
761 |
+
'month_weeks' => _x( 'Weeks of the month', 'Label for selecting weeks of the month in a scheduling rule', 'business-profile' ),
|
762 |
+
'date_label' => _x( 'Date', 'Label to select a date for a scheduling rule', 'business-profile' ),
|
763 |
+
'time_label' => _x( 'Time', 'Label to select a time slot for a scheduling rule', 'business-profile' ),
|
764 |
+
'allday' => _x( 'All day', 'Label to set a scheduling rule to last all day', 'business-profile' ),
|
765 |
+
'start' => _x( 'Start', 'Label for the starting time of a scheduling rule', 'business-profile' ),
|
766 |
+
'end' => _x( 'End', 'Label for the ending time of a scheduling rule', 'business-profile' ),
|
767 |
+
'set_time_prompt' => _x( 'All day long. Want to %sset a time slot%s?', 'Prompt displayed when a scheduling rule is set without any time restrictions', 'business-profile' ),
|
768 |
+
'toggle' => _x( 'Open and close this rule', 'Toggle a scheduling rule open and closed', 'business-profile' ),
|
769 |
+
'delete' => _x( 'Delete rule', 'Delete a scheduling rule', 'business-profile' ),
|
770 |
+
'delete_schedule' => __( 'Delete scheduling rule', 'business-profile' ),
|
771 |
+
'never' => _x( 'Never', 'Brief default description of a scheduling rule when no weekdays or weeks are included in the rule', 'business-profile' ),
|
772 |
+
'weekly_always' => _x( 'Every day', 'Brief default description of a scheduling rule when all the weekdays/weeks are included in the rule', 'business-profile' ),
|
773 |
+
'monthly_weekdays' => _x( '%s on the %s week of the month', 'Brief default description of a scheduling rule when some weekdays are included on only some weeks of the month. %s should be left alone and will be replaced by a comma-separated list of days and weeks in the following format: M, T, W on the first, second week of the month', 'business-profile' ),
|
774 |
+
'monthly_weeks' => _x( '%s week of the month', 'Brief default description of a scheduling rule when some weeks of the month are included but all or no weekdays are selected. %s should be left alone and will be replaced by a comma-separated list of weeks in the following format: First, second week of the month', 'business-profile' ),
|
775 |
+
'all_day' => _x( 'Closed all day', 'Brief default description of a scheduling exception when no times are set', 'business-profile' ),
|
776 |
+
'before' => _x( 'Ends at', 'Brief default description of a scheduling rule when an end time is set but no start time. If the end time is 6pm, it will read: Ends at 6pm', 'business-profile' ),
|
777 |
+
'after' => _x( 'Starts at', 'Brief default description of a scheduling rule when a start time is set but no end time. If the start time is 6pm, it will read: Starts at 6pm', 'business-profile' ),
|
778 |
+
'separator' => _x( '—', 'Separator between times of a scheduling rule', 'business-profile' ),
|
779 |
+
),
|
780 |
+
)
|
781 |
+
);
|
782 |
+
|
783 |
+
if ( ! empty( $values ) ) {
|
784 |
+
$exceptions->set_value( $values );
|
785 |
+
}
|
786 |
+
|
787 |
+
return $exceptions;
|
788 |
+
|
789 |
}
|
790 |
|
791 |
/**
|
816 |
}
|
817 |
|
818 |
$post_meta = array(
|
819 |
+
'schema_type' => 'sanitize_text_field',
|
820 |
+
'geo_address' => 'wp_kses_post',
|
821 |
+
'geo_latitude' => 'sanitize_text_field',
|
822 |
+
'geo_longitude' => 'sanitize_text_field',
|
823 |
+
'phone' => 'sanitize_text_field',
|
824 |
+
'clickphone' => 'sanitize_text_field',
|
825 |
+
'contact_post' => 'absint',
|
826 |
+
'contact_email' => 'sanitize_email',
|
827 |
+
'opening_hours' => array( $this, 'sanitize_opening_hours' ),
|
828 |
+
'exceptions' => array( $this, 'sanitize_exceptions' ),
|
829 |
);
|
830 |
|
831 |
foreach ( $post_meta as $key => $sanitizer ) {
|
911 |
return $scheduler->sanitize_callback_wrapper( $values );
|
912 |
}
|
913 |
|
914 |
+
/**
|
915 |
+
* Sanitize exceptions
|
916 |
+
*
|
917 |
+
* This is a wrapper for the sanitization callback in the Scheduler
|
918 |
+
* component of Simple Admin Pages
|
919 |
+
*
|
920 |
+
* @since 1.1
|
921 |
+
* @access public
|
922 |
+
* @see lib/simple-admin-pages/classes/AdminPageSetting.Scheduler.class.php
|
923 |
+
* @param array $values Raw values for the exceptions.
|
924 |
+
* @return array $values Sanitized values for the exceptions.
|
925 |
+
*/
|
926 |
+
public function sanitize_exceptions( $values ) {
|
927 |
+
$exceptions = $this->get_exceptions_meta_object( $values );
|
928 |
+
return $exceptions->sanitize_callback_wrapper( $values );
|
929 |
+
}
|
930 |
+
|
931 |
/**
|
932 |
* Automatically append a contact card to `the_content` on location
|
933 |
* single pages
|
@@ -105,6 +105,7 @@ if ( ! class_exists( 'bpfwpSettings' ) ) :
|
|
105 |
'show_contact' => true,
|
106 |
'show_opening_hours' => true,
|
107 |
'show_opening_hours_brief' => false,
|
|
|
108 |
'show_map' => true,
|
109 |
'show_image' => false,
|
110 |
)
|
@@ -124,6 +125,8 @@ if ( ! class_exists( 'bpfwpSettings' ) ) :
|
|
124 |
*/
|
125 |
public function get_setting( $setting, $location = false ) {
|
126 |
|
|
|
|
|
127 |
// Most settings are named with hyphens, but the schema_type uses
|
128 |
// an underscore. This just provides a small convenience by allowing
|
129 |
// users to look up the setting by `schema-type`.
|
@@ -131,57 +134,83 @@ if ( ! class_exists( 'bpfwpSettings' ) ) :
|
|
131 |
$setting = 'schema_type';
|
132 |
}
|
133 |
|
134 |
-
if ( empty( $location ) ) {
|
135 |
-
if ( empty( $this->settings ) ) {
|
136 |
-
$this->settings = get_option( 'bpfwp-settings' );
|
137 |
-
}
|
138 |
-
|
139 |
-
if ( ! empty( $this->settings[ $setting ] ) ) {
|
140 |
-
return $this->settings[ $setting ];
|
141 |
-
}
|
142 |
-
|
143 |
-
if ( ! empty( $this->defaults[ $setting ] ) ) {
|
144 |
-
return $this->defaults[ $setting ];
|
145 |
-
}
|
146 |
-
} else {
|
147 |
-
|
148 |
// Map setting slugs to post data.
|
149 |
-
switch ( $setting ) {
|
150 |
|
151 |
-
|
152 |
-
return get_post_meta( $location, 'schema_type', true );
|
153 |
|
154 |
case 'image' :
|
155 |
-
|
|
|
156 |
|
157 |
case 'name' :
|
158 |
-
|
|
|
159 |
|
160 |
case 'description' :
|
161 |
-
|
|
|
162 |
|
163 |
case 'address' :
|
164 |
-
|
165 |
-
'text' => get_post_meta( $location, 'geo_address', true ),
|
166 |
-
'lat' => get_post_meta( $location, 'geo_latitude', true ),
|
167 |
-
'lon' => get_post_meta( $location, 'geo_longitude', true ),
|
168 |
-
);
|
169 |
|
170 |
-
|
171 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
172 |
|
173 |
case 'contact-page' :
|
174 |
-
|
|
|
175 |
|
176 |
case 'contact-email' :
|
177 |
-
|
|
|
178 |
|
179 |
case 'opening-hours' :
|
180 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
}
|
182 |
}
|
183 |
|
184 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
185 |
}
|
186 |
|
187 |
/**
|
@@ -362,7 +391,7 @@ if ( ! class_exists( 'bpfwpSettings' ) ) :
|
|
362 |
'id' => 'google-maps-api-key',
|
363 |
'title' => __( 'Google Maps API Key', 'business-profile' ),
|
364 |
'description' => sprintf(
|
365 |
-
__( 'Google requires an API key to use their maps. %sGet an API key%s. A full walk-through is available in the %
|
366 |
'<a href="https://developers.google.com/maps/documentation/javascript/get-api-key">',
|
367 |
'</a>',
|
368 |
'<a href="http://doc.fivestarplugins.com/plugins/business-profile/user/faq#google-maps-api-key">',
|
@@ -389,6 +418,21 @@ if ( ! class_exists( 'bpfwpSettings' ) ) :
|
|
389 |
)
|
390 |
);
|
391 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
392 |
$sap->add_setting(
|
393 |
'bpfwp-settings',
|
394 |
'bpfwp-contact',
|
@@ -408,6 +452,22 @@ if ( ! class_exists( 'bpfwpSettings' ) ) :
|
|
408 |
)
|
409 |
);
|
410 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
411 |
$sap->add_setting(
|
412 |
'bpfwp-settings',
|
413 |
'bpfwp-contact',
|
@@ -484,6 +544,46 @@ if ( ! class_exists( 'bpfwpSettings' ) ) :
|
|
484 |
)
|
485 |
);
|
486 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
487 |
$sap->add_section(
|
488 |
'bpfwp-settings',
|
489 |
array(
|
105 |
'show_contact' => true,
|
106 |
'show_opening_hours' => true,
|
107 |
'show_opening_hours_brief' => false,
|
108 |
+
'show_exceptions' => true,
|
109 |
'show_map' => true,
|
110 |
'show_image' => false,
|
111 |
)
|
125 |
*/
|
126 |
public function get_setting( $setting, $location = false ) {
|
127 |
|
128 |
+
$result_value = null;
|
129 |
+
|
130 |
// Most settings are named with hyphens, but the schema_type uses
|
131 |
// an underscore. This just provides a small convenience by allowing
|
132 |
// users to look up the setting by `schema-type`.
|
134 |
$setting = 'schema_type';
|
135 |
}
|
136 |
|
137 |
+
if ( ! empty( $location ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
// Map setting slugs to post data.
|
|
|
139 |
|
140 |
+
switch ( $setting ) {
|
|
|
141 |
|
142 |
case 'image' :
|
143 |
+
$result_value = has_post_thumbnail( $location ) ? get_post_thumbnail_id( $location ) : $this->get_setting( $setting );
|
144 |
+
break;
|
145 |
|
146 |
case 'name' :
|
147 |
+
$result_value = get_the_title( $location );
|
148 |
+
break;
|
149 |
|
150 |
case 'description' :
|
151 |
+
$result_value = get_the_content( $location );
|
152 |
+
break;
|
153 |
|
154 |
case 'address' :
|
155 |
+
$result_value = '';
|
|
|
|
|
|
|
|
|
156 |
|
157 |
+
$text = get_post_meta( $location, 'geo_address', true );
|
158 |
+
$lat = get_post_meta( $location, 'geo_latitude', true );
|
159 |
+
$lon = get_post_meta( $location, 'geo_longitude', true );
|
160 |
+
|
161 |
+
if(! empty( $text ) || ( $lat && $lon ) ) {
|
162 |
+
$result_value = array(
|
163 |
+
'text' => $text,
|
164 |
+
'lat' => $lat,
|
165 |
+
'lon' => $lon
|
166 |
+
);
|
167 |
+
}
|
168 |
+
break;
|
169 |
|
170 |
case 'contact-page' :
|
171 |
+
$result_value = get_post_meta( $location, 'contact_post', true );
|
172 |
+
break;
|
173 |
|
174 |
case 'contact-email' :
|
175 |
+
$result_value = get_post_meta( $location, 'contact_email', true );
|
176 |
+
break;
|
177 |
|
178 |
case 'opening-hours' :
|
179 |
+
$result_value = get_post_meta( $location, 'opening_hours', true );
|
180 |
+
break;
|
181 |
+
|
182 |
+
case 'clickphone' :
|
183 |
+
$result_value = get_post_meta( $location, $setting, true );
|
184 |
+
if( empty($result_value) ) {
|
185 |
+
$result_value = get_post_meta( $location, 'phone', true );
|
186 |
+
}
|
187 |
+
break;
|
188 |
+
|
189 |
+
case 'exceptions' :
|
190 |
+
case 'schema_type' :
|
191 |
+
case 'phone' :
|
192 |
+
default :
|
193 |
+
$result_value = get_post_meta( $location, $setting, true );
|
194 |
+
break;
|
195 |
}
|
196 |
}
|
197 |
|
198 |
+
// fallback
|
199 |
+
if( ! $result_value ) {
|
200 |
+
if ( empty( $this->settings ) ) {
|
201 |
+
$this->settings = get_option( 'bpfwp-settings' );
|
202 |
+
}
|
203 |
+
|
204 |
+
if ( ! $result_value && ! empty( $this->settings[ $setting ] ) ) {
|
205 |
+
$result_value = $this->settings[ $setting ];
|
206 |
+
}
|
207 |
+
|
208 |
+
if ( ! $result_value && ! empty( $this->defaults[ $setting ] ) ) {
|
209 |
+
$result_value = $this->defaults[ $setting ];
|
210 |
+
}
|
211 |
+
}
|
212 |
+
|
213 |
+
return $result_value;
|
214 |
}
|
215 |
|
216 |
/**
|
391 |
'id' => 'google-maps-api-key',
|
392 |
'title' => __( 'Google Maps API Key', 'business-profile' ),
|
393 |
'description' => sprintf(
|
394 |
+
__( 'Google requires an API key to use their maps. %sGet an API key%s. A full walk-through is available in the %sdocumentation%s.', 'business-profile' ),
|
395 |
'<a href="https://developers.google.com/maps/documentation/javascript/get-api-key">',
|
396 |
'</a>',
|
397 |
'<a href="http://doc.fivestarplugins.com/plugins/business-profile/user/faq#google-maps-api-key">',
|
418 |
)
|
419 |
);
|
420 |
|
421 |
+
$sap->add_setting(
|
422 |
+
'bpfwp-settings',
|
423 |
+
'bpfwp-contact',
|
424 |
+
'text',
|
425 |
+
array(
|
426 |
+
'id' => 'clickphone',
|
427 |
+
'title' => __( 'Click-to-Call Phone', 'business-profile' ),
|
428 |
+
'description' => __( 'Use this field to set a different number for when the phone number is clicked in the contact card (e.g. if you\'d like it to be just an unformatted string of numbers). If left blank, the click-to-call will use the phone number provided in the option above.', 'business-profile' ),
|
429 |
+
'args' => array(
|
430 |
+
'label_for' => 'bpfwp-settings[clickphone]',
|
431 |
+
'class' => 'bpfwp-clickphone'
|
432 |
+
)
|
433 |
+
)
|
434 |
+
);
|
435 |
+
|
436 |
$sap->add_setting(
|
437 |
'bpfwp-settings',
|
438 |
'bpfwp-contact',
|
452 |
)
|
453 |
);
|
454 |
|
455 |
+
$sap->add_setting(
|
456 |
+
'bpfwp-settings',
|
457 |
+
'bpfwp-contact',
|
458 |
+
'toggle',
|
459 |
+
array(
|
460 |
+
'id' => 'disable-contact-page-card',
|
461 |
+
'title' => __( 'Disable Contact Page Card', 'business-profile' ),
|
462 |
+
'label' => __( 'This disables the contact card from being automatically included on the page you set as the contact page in the option above this one.', 'business-profile' ),
|
463 |
+
'args' => array(
|
464 |
+
'label_for' => 'bpfwp-settings[disable-contact-page-card]',
|
465 |
+
'class' => 'bpfwp-disable-contact-page-card'
|
466 |
+
)
|
467 |
+
|
468 |
+
)
|
469 |
+
);
|
470 |
+
|
471 |
$sap->add_setting(
|
472 |
'bpfwp-settings',
|
473 |
'bpfwp-contact',
|
544 |
)
|
545 |
);
|
546 |
|
547 |
+
$sap->add_setting(
|
548 |
+
'bpfwp-settings',
|
549 |
+
'bpfwp-schedule',
|
550 |
+
'scheduler',
|
551 |
+
array(
|
552 |
+
'id' => 'exceptions',
|
553 |
+
'title' => __( 'Exceptions', 'business-profile' ),
|
554 |
+
'description' => __( "Define special opening hours for holidays, events or other needs. Leave the time empty if you're closed all day.", 'business-profile' ),
|
555 |
+
'time_format' => _x( 'h:i A', 'Time format displayed in the opening hours setting panel in your admin area. Must match formatting rules at http://amsul.ca/pickadate.js/time.htm#formats', 'business-profile' ),
|
556 |
+
'date_format' => _x( 'mmmm d, yyyy', 'Date format displayed in the opening hours setting panel in your admin area. Must match formatting rules at http://amsul.ca/pickadate.js/date.htm#formatting-rules', 'business-profile' ),
|
557 |
+
'disable_weekdays' => true,
|
558 |
+
'disable_weeks' => true,
|
559 |
+
'strings' => array(
|
560 |
+
'add_rule' => __( 'Add another exception', 'business-profile' ),
|
561 |
+
'weekly' => _x( 'Weekly', 'Format of a scheduling rule', 'business-profile' ),
|
562 |
+
'monthly' => _x( 'Monthly', 'Format of a scheduling rule', 'business-profile' ),
|
563 |
+
'date' => _x( 'Date', 'Format of a scheduling rule', 'business-profile' ),
|
564 |
+
'weekdays' => _x( 'Days of the week', 'Label for selecting days of the week in a scheduling rule', 'business-profile' ),
|
565 |
+
'month_weeks' => _x( 'Weeks of the month', 'Label for selecting weeks of the month in a scheduling rule', 'business-profile' ),
|
566 |
+
'date_label' => _x( 'Date', 'Label to select a date for a scheduling rule', 'business-profile' ),
|
567 |
+
'time_label' => _x( 'Time', 'Label to select a time slot for a scheduling rule', 'business-profile' ),
|
568 |
+
'allday' => _x( 'All day', 'Label to set a scheduling rule to last all day', 'business-profile' ),
|
569 |
+
'start' => _x( 'Start', 'Label for the starting time of a scheduling rule', 'business-profile' ),
|
570 |
+
'end' => _x( 'End', 'Label for the ending time of a scheduling rule', 'business-profile' ),
|
571 |
+
'set_time_prompt' => _x( 'All day long. Want to %sset a time slot%s?', 'Prompt displayed when a scheduling rule is set without any time restrictions', 'business-profile' ),
|
572 |
+
'toggle' => _x( 'Open and close this rule', 'Toggle a scheduling rule open and closed', 'business-profile' ),
|
573 |
+
'delete' => _x( 'Delete rule', 'Delete a scheduling rule', 'business-profile' ),
|
574 |
+
'delete_schedule' => __( 'Delete scheduling rule', 'business-profile' ),
|
575 |
+
'never' => _x( 'Never', 'Brief default description of a scheduling rule when no weekdays or weeks are included in the rule', 'business-profile' ),
|
576 |
+
'weekly_always' => _x( 'Every day', 'Brief default description of a scheduling rule when all the weekdays/weeks are included in the rule', 'business-profile' ),
|
577 |
+
'monthly_weekdays' => _x( '%s on the %s week of the month', 'Brief default description of a scheduling rule when some weekdays are included on only some weeks of the month. %s should be left alone and will be replaced by a comma-separated list of days and weeks in the following format: M, T, W on the first, second week of the month', 'business-profile' ),
|
578 |
+
'monthly_weeks' => _x( '%s week of the month', 'Brief default description of a scheduling rule when some weeks of the month are included but all or no weekdays are selected. %s should be left alone and will be replaced by a comma-separated list of weeks in the following format: First, second week of the month', 'business-profile' ),
|
579 |
+
'all_day' => _x( 'Closed all day', 'Brief default description of a scheduling exception when no times are set', 'business-profile' ),
|
580 |
+
'before' => _x( 'Ends at', 'Brief default description of a scheduling rule when an end time is set but no start time. If the end time is 6pm, it will read: Ends at 6pm', 'business-profile' ),
|
581 |
+
'after' => _x( 'Starts at', 'Brief default description of a scheduling rule when a start time is set but no end time. If the start time is 6pm, it will read: Starts at 6pm', 'business-profile' ),
|
582 |
+
'separator' => _x( '—', 'Separator between times of a scheduling rule', 'business-profile' ),
|
583 |
+
),
|
584 |
+
)
|
585 |
+
);
|
586 |
+
|
587 |
$sap->add_section(
|
588 |
'bpfwp-settings',
|
589 |
array(
|
@@ -110,7 +110,8 @@ if ( ! function_exists( 'bpwfwp_print_contact_card' ) ) {
|
|
110 |
'address' => 'bpwfwp_print_address',
|
111 |
'phone' => 'bpwfwp_print_phone',
|
112 |
'contact' => 'bpwfwp_print_contact',
|
113 |
-
'
|
|
|
114 |
'map' => 'bpwfwp_print_map',
|
115 |
'parent_organization' => 'bpfwp_print_parent_organization',
|
116 |
)
|
@@ -161,29 +162,31 @@ if ( ! function_exists( 'bpwfwp_print_name' ) ) {
|
|
161 |
* @since 0.0.1
|
162 |
* @access public
|
163 |
* @param string $location The location associated with the name.
|
164 |
-
* @return
|
165 |
*/
|
166 |
function bpwfwp_print_name( $location = false ) {
|
167 |
|
|
|
|
|
168 |
if ( bpfwp_get_display( 'show_name' ) ) :
|
169 |
?>
|
170 |
-
<div class="bp-name"
|
171 |
<?php echo esc_attr( bpfwp_setting( 'name', $location ) ); ?>
|
172 |
</div>
|
173 |
-
|
174 |
-
<?php else : ?>
|
175 |
-
<meta itemprop="name" content="<?php echo esc_attr( bpfwp_setting( 'name', $location ) ); ?>">
|
176 |
-
|
177 |
<?php endif; ?>
|
178 |
|
|
|
|
|
179 |
<?php if ( empty( $location ) ) : ?>
|
180 |
-
|
181 |
-
|
182 |
|
183 |
<?php else : ?>
|
184 |
-
|
185 |
|
186 |
<?php endif;
|
|
|
|
|
187 |
}
|
188 |
}
|
189 |
|
@@ -194,18 +197,25 @@ if ( ! function_exists( 'bpwfwp_print_address' ) ) {
|
|
194 |
* @since 0.0.1
|
195 |
* @access public
|
196 |
* @param string $location The location associated with the address.
|
197 |
-
* @return
|
198 |
*/
|
199 |
function bpwfwp_print_address( $location = false ) {
|
200 |
|
|
|
|
|
201 |
$address = bpfwp_setting( 'address', $location );
|
202 |
|
203 |
if ( empty( $address['text'] ) ) {
|
204 |
-
return
|
205 |
}
|
206 |
?>
|
207 |
|
208 |
-
|
|
|
|
|
|
|
|
|
|
|
209 |
|
210 |
<?php if ( bpfwp_get_display( 'show_address' ) ) : ?>
|
211 |
<div class="bp-address">
|
@@ -219,6 +229,7 @@ if ( ! function_exists( 'bpwfwp_print_address' ) ) {
|
|
219 |
</div>
|
220 |
<?php endif;
|
221 |
|
|
|
222 |
}
|
223 |
}
|
224 |
|
@@ -229,27 +240,34 @@ if ( ! function_exists( 'bpwfwp_print_phone' ) ) {
|
|
229 |
* @since 0.0.1
|
230 |
* @access public
|
231 |
* @param string $location The location associated with the phone.
|
232 |
-
* @return
|
233 |
*/
|
234 |
function bpwfwp_print_phone( $location = false ) {
|
235 |
|
|
|
|
|
236 |
$phone = bpfwp_setting( 'phone', $location );
|
|
|
|
|
|
|
|
|
|
|
237 |
|
238 |
if ( empty( $phone ) ) {
|
239 |
return '';
|
240 |
}
|
241 |
|
242 |
-
if ( bpfwp_get_display( 'show_phone' ) ) :
|
243 |
-
?>
|
244 |
|
245 |
-
<div class="bp-phone"
|
246 |
-
<a href="tel:<?php echo
|
247 |
</div>
|
248 |
|
249 |
-
<?php else : ?>
|
250 |
-
<meta itemprop="telephone" content="<?php echo esc_attr( bpfwp_setting( 'phone', $location ) ); ?>">
|
251 |
-
|
252 |
<?php endif;
|
|
|
|
|
|
|
|
|
253 |
}
|
254 |
}
|
255 |
|
@@ -260,40 +278,48 @@ if ( ! function_exists( 'bpwfwp_print_contact' ) ) {
|
|
260 |
* @since 0.0.1
|
261 |
* @access public
|
262 |
* @param string $location The location associated with the contact.
|
263 |
-
* @return
|
264 |
*/
|
265 |
function bpwfwp_print_contact( $location = false ) {
|
266 |
|
|
|
|
|
267 |
$email = bpfwp_setting( 'contact-email', $location );
|
|
|
268 |
if ( ! empty( $email ) ) :
|
269 |
$antispam_email = antispambot( $email );
|
270 |
|
271 |
-
if (
|
272 |
-
?>
|
273 |
-
<meta itemprop="email" content="<?php echo esc_attr( $antispam_email ); ?>">
|
274 |
|
275 |
-
|
276 |
-
|
277 |
-
<div class="bp-contact bp-contact-email" itemprop="email" content="<?php echo esc_attr( $antispam_email ); ?>">
|
278 |
<a href="mailto:<?php echo esc_attr( $antispam_email ); ?>"><?php echo $antispam_email; ?></a>
|
279 |
</div>
|
280 |
|
281 |
<?php endif; ?>
|
282 |
|
|
|
|
|
283 |
<?php
|
284 |
-
return;
|
285 |
endif;
|
286 |
|
287 |
$contact = bpfwp_setting( 'contact-page', $location );
|
288 |
if ( ! empty( $contact ) && bpfwp_get_display( 'show_contact' ) ) :
|
289 |
?>
|
290 |
|
291 |
-
<div class="bp-contact bp-contact-page"
|
292 |
-
<
|
293 |
-
<a href="<?php echo get_permalink( $contact ); ?>" itemprop="url" content="<?php echo esc_attr( get_permalink( $contact ) ); ?>"><?php _e( 'Contact', 'business-profile' ); ?></a>
|
294 |
</div>
|
295 |
|
296 |
-
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
297 |
}
|
298 |
}
|
299 |
|
@@ -314,8 +340,8 @@ if ( ! function_exists( 'bpwfwp_print_opening_hours' ) ) {
|
|
314 |
return '';
|
315 |
}
|
316 |
|
317 |
-
//
|
318 |
-
|
319 |
|
320 |
if ( ! bpfwp_get_display( 'show_opening_hours' ) ) {
|
321 |
return;
|
@@ -381,7 +407,7 @@ if ( ! function_exists( 'bpwfwp_print_opening_hours' ) ) {
|
|
381 |
</div>
|
382 |
|
383 |
<?php
|
384 |
-
return;
|
385 |
endif; // Brief opening hours.
|
386 |
|
387 |
$weekdays_display = array(
|
@@ -459,18 +485,23 @@ if ( ! function_exists( 'bpwfwp_print_opening_hours' ) ) {
|
|
459 |
$template->get_template_part( 'opening-hours' );
|
460 |
}
|
461 |
}
|
|
|
|
|
462 |
}
|
463 |
}
|
464 |
|
465 |
-
if ( ! function_exists( '
|
466 |
/**
|
467 |
-
*
|
468 |
*
|
|
|
469 |
* @access public
|
470 |
* @param array $hours A list of opening hours.
|
471 |
-
* @return
|
472 |
*/
|
473 |
-
function
|
|
|
|
|
474 |
|
475 |
$weekdays_schema = array(
|
476 |
'monday' => 'Mo',
|
@@ -528,11 +559,148 @@ if ( ! function_exists( 'bpfwp_print_opening_hours_metatag' ) ) {
|
|
528 |
|
529 |
$string .= ' ' . $start . '-' . $end;
|
530 |
}
|
531 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
532 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
533 |
}
|
534 |
}
|
535 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
536 |
if ( ! function_exists( 'bpwfwp_print_map' ) ) {
|
537 |
/**
|
538 |
* Print a map to the address
|
@@ -540,10 +708,12 @@ if ( ! function_exists( 'bpwfwp_print_map' ) ) {
|
|
540 |
* @since 0.0.1
|
541 |
* @access public
|
542 |
* @param string $location The location associated with the map.
|
543 |
-
* @return
|
544 |
*/
|
545 |
function bpwfwp_print_map( $location = false ) {
|
546 |
|
|
|
|
|
547 |
$address = bpfwp_setting( 'address', $location );
|
548 |
|
549 |
if ( empty( $address['text'] ) || ! bpfwp_get_display( 'show_map' ) ) {
|
@@ -589,9 +759,11 @@ if ( ! function_exists( 'bpwfwp_print_map' ) ) {
|
|
589 |
}
|
590 |
?>
|
591 |
|
592 |
-
<div id="bp-map-<?php echo $id; ?>" class="bp-map"
|
593 |
|
594 |
<?php
|
|
|
|
|
595 |
}
|
596 |
}
|
597 |
|
@@ -601,20 +773,50 @@ if ( ! function_exists( 'bpfwp_print_parent_organization' ) ) {
|
|
601 |
*
|
602 |
* @since 1.1
|
603 |
* @access public
|
604 |
-
* @return
|
605 |
*/
|
606 |
function bpfwp_print_parent_organization() {
|
607 |
|
|
|
|
|
608 |
$location = bpfwp_get_display( 'location' );
|
609 |
|
610 |
if ( empty( $location ) ) {
|
611 |
return '';
|
612 |
}
|
613 |
|
614 |
-
|
615 |
|
616 |
-
|
|
|
|
|
617 |
|
618 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
619 |
}
|
620 |
}
|
110 |
'address' => 'bpwfwp_print_address',
|
111 |
'phone' => 'bpwfwp_print_phone',
|
112 |
'contact' => 'bpwfwp_print_contact',
|
113 |
+
'exceptions' => 'bpwfwp_print_exceptions',
|
114 |
+
'opening_hours' => 'bpwfwp_print_opening_hours', // opening-hours
|
115 |
'map' => 'bpwfwp_print_map',
|
116 |
'parent_organization' => 'bpfwp_print_parent_organization',
|
117 |
)
|
162 |
* @since 0.0.1
|
163 |
* @access public
|
164 |
* @param string $location The location associated with the name.
|
165 |
+
* @return array
|
166 |
*/
|
167 |
function bpwfwp_print_name( $location = false ) {
|
168 |
|
169 |
+
$return_data = array();
|
170 |
+
|
171 |
if ( bpfwp_get_display( 'show_name' ) ) :
|
172 |
?>
|
173 |
+
<div class="bp-name">
|
174 |
<?php echo esc_attr( bpfwp_setting( 'name', $location ) ); ?>
|
175 |
</div>
|
|
|
|
|
|
|
|
|
176 |
<?php endif; ?>
|
177 |
|
178 |
+
<?php $return_data['name'] = bpfwp_setting( 'name', $location ); ?>
|
179 |
+
|
180 |
<?php if ( empty( $location ) ) : ?>
|
181 |
+
<?php $return_data['description'] = get_bloginfo( 'description' ); ?>
|
182 |
+
<?php $return_data['url'] = get_bloginfo( 'url' ); ?>
|
183 |
|
184 |
<?php else : ?>
|
185 |
+
<?php $return_data['url'] = get_permalink( $location ); ?>
|
186 |
|
187 |
<?php endif;
|
188 |
+
|
189 |
+
return $return_data;
|
190 |
}
|
191 |
}
|
192 |
|
197 |
* @since 0.0.1
|
198 |
* @access public
|
199 |
* @param string $location The location associated with the address.
|
200 |
+
* @return array
|
201 |
*/
|
202 |
function bpwfwp_print_address( $location = false ) {
|
203 |
|
204 |
+
$return_data = array();
|
205 |
+
|
206 |
$address = bpfwp_setting( 'address', $location );
|
207 |
|
208 |
if ( empty( $address['text'] ) ) {
|
209 |
+
return $return_data;
|
210 |
}
|
211 |
?>
|
212 |
|
213 |
+
<?php
|
214 |
+
$return_data['address'] = array(
|
215 |
+
'type' => 'PostalAddress',
|
216 |
+
'name' => $address['text'],
|
217 |
+
);
|
218 |
+
?>
|
219 |
|
220 |
<?php if ( bpfwp_get_display( 'show_address' ) ) : ?>
|
221 |
<div class="bp-address">
|
229 |
</div>
|
230 |
<?php endif;
|
231 |
|
232 |
+
return $return_data;
|
233 |
}
|
234 |
}
|
235 |
|
240 |
* @since 0.0.1
|
241 |
* @access public
|
242 |
* @param string $location The location associated with the phone.
|
243 |
+
* @return array
|
244 |
*/
|
245 |
function bpwfwp_print_phone( $location = false ) {
|
246 |
|
247 |
+
$return_data = array();
|
248 |
+
|
249 |
$phone = bpfwp_setting( 'phone', $location );
|
250 |
+
$click_to_call_phone = bpfwp_setting( 'clickphone', $location );
|
251 |
+
|
252 |
+
if ( $click_to_call_phone == '' ) {
|
253 |
+
$click_to_call_phone = $phone;
|
254 |
+
}
|
255 |
|
256 |
if ( empty( $phone ) ) {
|
257 |
return '';
|
258 |
}
|
259 |
|
260 |
+
if ( bpfwp_get_display( 'show_phone' ) ) : ?>
|
|
|
261 |
|
262 |
+
<div class="bp-phone">
|
263 |
+
<a href="tel:<?php echo $click_to_call_phone; ?>"><?php echo bpfwp_setting( 'phone', $location ); ?></a>
|
264 |
</div>
|
265 |
|
|
|
|
|
|
|
266 |
<?php endif;
|
267 |
+
|
268 |
+
$return_data['telephone'] = bpfwp_setting( 'phone', $location );
|
269 |
+
|
270 |
+
return $return_data;
|
271 |
}
|
272 |
}
|
273 |
|
278 |
* @since 0.0.1
|
279 |
* @access public
|
280 |
* @param string $location The location associated with the contact.
|
281 |
+
* @return array
|
282 |
*/
|
283 |
function bpwfwp_print_contact( $location = false ) {
|
284 |
|
285 |
+
$return_data = array();
|
286 |
+
|
287 |
$email = bpfwp_setting( 'contact-email', $location );
|
288 |
+
|
289 |
if ( ! empty( $email ) ) :
|
290 |
$antispam_email = antispambot( $email );
|
291 |
|
292 |
+
if ( bpfwp_get_display( 'show_contact' ) ) : ?>
|
|
|
|
|
293 |
|
294 |
+
<div class="bp-contact bp-contact-email">
|
|
|
|
|
295 |
<a href="mailto:<?php echo esc_attr( $antispam_email ); ?>"><?php echo $antispam_email; ?></a>
|
296 |
</div>
|
297 |
|
298 |
<?php endif; ?>
|
299 |
|
300 |
+
<?php $return_data['email'] = $antispam_email; ?>
|
301 |
+
|
302 |
<?php
|
303 |
+
return $return_data;
|
304 |
endif;
|
305 |
|
306 |
$contact = bpfwp_setting( 'contact-page', $location );
|
307 |
if ( ! empty( $contact ) && bpfwp_get_display( 'show_contact' ) ) :
|
308 |
?>
|
309 |
|
310 |
+
<div class="bp-contact bp-contact-page">
|
311 |
+
<a href="<?php echo get_permalink( $contact ); ?>"><?php _e( 'Contact', 'business-profile' ); ?></a>
|
|
|
312 |
</div>
|
313 |
|
314 |
+
<?php
|
315 |
+
$return_data['ContactPoint'] = array(
|
316 |
+
'contactType' => 'customer support',
|
317 |
+
'url' => get_permalink( $contact ),
|
318 |
+
);
|
319 |
+
|
320 |
+
endif;
|
321 |
+
|
322 |
+
return $return_data;
|
323 |
}
|
324 |
}
|
325 |
|
340 |
return '';
|
341 |
}
|
342 |
|
343 |
+
// Get the opening hours in a returnable format
|
344 |
+
$return_data = bpfwp_get_opening_hours_array( $hours );
|
345 |
|
346 |
if ( ! bpfwp_get_display( 'show_opening_hours' ) ) {
|
347 |
return;
|
407 |
</div>
|
408 |
|
409 |
<?php
|
410 |
+
return $return_data;
|
411 |
endif; // Brief opening hours.
|
412 |
|
413 |
$weekdays_display = array(
|
485 |
$template->get_template_part( 'opening-hours' );
|
486 |
}
|
487 |
}
|
488 |
+
|
489 |
+
return $return_data;
|
490 |
}
|
491 |
}
|
492 |
|
493 |
+
if ( ! function_exists( 'bpfwp_get_opening_hours_array' ) ) {
|
494 |
/**
|
495 |
+
* Returns an array of opening hours, outputable for json+ld
|
496 |
*
|
497 |
+
* @since 2.1.0
|
498 |
* @access public
|
499 |
* @param array $hours A list of opening hours.
|
500 |
+
* @return array
|
501 |
*/
|
502 |
+
function bpfwp_get_opening_hours_array( $hours ) {
|
503 |
+
|
504 |
+
$opening_hours = array();
|
505 |
|
506 |
$weekdays_schema = array(
|
507 |
'monday' => 'Mo',
|
559 |
|
560 |
$string .= ' ' . $start . '-' . $end;
|
561 |
}
|
562 |
+
|
563 |
+
$opening_hours[] = '"' . $string . '"';
|
564 |
+
}
|
565 |
+
|
566 |
+
return array( 'openingHours' => '[' . implode( ',', $opening_hours ) . ']' );
|
567 |
+
}
|
568 |
+
}
|
569 |
+
|
570 |
+
if ( ! function_exists( 'bpwfwp_print_exceptions' ) ) {
|
571 |
+
/**
|
572 |
+
* Print the exceptions, special opening hours or holidays.
|
573 |
+
*
|
574 |
+
* @since 2.1.0
|
575 |
+
* @access public
|
576 |
+
* @param string $location The location associated with the exceptions.
|
577 |
+
* @return string|void Returns an empty string if no exceptions exist.
|
578 |
+
*/
|
579 |
+
function bpwfwp_print_exceptions( $location = false ) {
|
580 |
+
global $bpfwp_controller;
|
581 |
+
|
582 |
+
$exceptions = bpfwp_setting( 'exceptions', $location );
|
583 |
+
|
584 |
+
if ( empty( $exceptions ) ) {
|
585 |
+
return '';
|
586 |
+
}
|
587 |
+
|
588 |
+
// Print the metatags with proper schema formatting.
|
589 |
+
$return_data = bpfwp_get_exceptions_array( $exceptions );
|
590 |
+
|
591 |
+
if ( ! bpfwp_get_display( 'show_exceptions' ) ) {
|
592 |
+
return;
|
593 |
+
}
|
594 |
+
|
595 |
+
$date_format = get_option('date_format');
|
596 |
+
|
597 |
+
$data = array(
|
598 |
+
'special_hours' => array(),
|
599 |
+
'holiday' => array()
|
600 |
+
);
|
601 |
+
|
602 |
+
foreach ( $exceptions as $exception ) {
|
603 |
+
|
604 |
+
if ( array_key_exists( 'time', $exception ) ) {
|
605 |
+
// special opening-hours
|
606 |
+
$data['special_hours'][] = $exception;
|
607 |
+
}
|
608 |
+
else {
|
609 |
+
// holiday
|
610 |
+
$data['holiday'][] = $exception;
|
611 |
+
}
|
612 |
}
|
613 |
+
|
614 |
+
if ( 0 < count( $data['holiday'] ) ) { ?>
|
615 |
+
|
616 |
+
<div class="bp-opening-hours holiday">
|
617 |
+
<span class="bp-title"><?php _e( 'Holidays', 'business-profile' ); ?></span>
|
618 |
+
|
619 |
+
<?php foreach ( $data['holiday'] as $exception ) { ?>
|
620 |
+
|
621 |
+
<?php $date = new DateTime($exception['date']); ?>
|
622 |
+
|
623 |
+
<div class="bp-date">
|
624 |
+
<span class="label"><?php echo $date->format( $date_format ); ?></span>
|
625 |
+
<span class="bp-times">
|
626 |
+
<span class="bp-time">
|
627 |
+
<?php _e( 'Closed', 'business-profile' ); ?>
|
628 |
+
</span>
|
629 |
+
</span>
|
630 |
+
</div>
|
631 |
+
<?php } ?>
|
632 |
+
|
633 |
+
</div>
|
634 |
+
<?php }
|
635 |
+
|
636 |
+
if ( 0 < count( $data['special_hours'] ) ) { ?>
|
637 |
+
|
638 |
+
<div class="bp-opening-hours special">
|
639 |
+
<span class="bp-title"><?php _e( 'Special Opening Hours', 'business-profile' ); ?></span>
|
640 |
+
|
641 |
+
<?php foreach ( $data['special_hours'] as $exception ) { ?>
|
642 |
+
|
643 |
+
<?php $date = new DateTime( $exception['date'] ); ?>
|
644 |
+
|
645 |
+
<div class="bp-date">
|
646 |
+
<span class="label"><?php echo $date->format( $date_format ); ?></span>
|
647 |
+
<span class="bp-times">
|
648 |
+
<span class="bp-time">
|
649 |
+
<?php echo $exception['time']['start'] . ' – ' . $exception['time']['end']; ?>
|
650 |
+
</span>
|
651 |
+
</span>
|
652 |
+
</div>
|
653 |
+
<?php } ?>
|
654 |
+
|
655 |
+
</div>
|
656 |
+
<?php }
|
657 |
+
|
658 |
+
return $return_data;
|
659 |
}
|
660 |
}
|
661 |
|
662 |
+
if ( ! function_exists( 'bpfwp_get_exceptions_array' ) ) {
|
663 |
+
/**
|
664 |
+
* Returns an array of exception rules, outputable for json+ld
|
665 |
+
*
|
666 |
+
* @since 2.1.0
|
667 |
+
* @access public
|
668 |
+
* @param array $exceptions A list of opening hours.
|
669 |
+
* @return array
|
670 |
+
*/
|
671 |
+
function bpfwp_get_exceptions_array( $exceptions ) {
|
672 |
+
|
673 |
+
$result = array();
|
674 |
+
|
675 |
+
if ( is_array( $exceptions ) ) {
|
676 |
+
|
677 |
+
foreach ( $exceptions as $exception ) {
|
678 |
+
// Special opening-hours
|
679 |
+
// @type: specialOpeningHoursSpecification
|
680 |
+
$special_hours = array(
|
681 |
+
'type' => 'specialOpeningHoursSpecification',
|
682 |
+
'validFrom' => $exception['date'],
|
683 |
+
'validThrough' => $exception['date']
|
684 |
+
);
|
685 |
+
|
686 |
+
if ( array_key_exists( 'time', $exception ) ) {
|
687 |
+
$special_hours['opens'] = $exception['time']['start'];
|
688 |
+
$special_hours['closes'] = $exception['time']['end'];
|
689 |
+
}
|
690 |
+
else {
|
691 |
+
// without opens it is considered as close - holiday
|
692 |
+
}
|
693 |
+
|
694 |
+
$result[] = $special_hours;
|
695 |
+
}
|
696 |
+
}
|
697 |
+
|
698 |
+
return $result;
|
699 |
+
}
|
700 |
+
}
|
701 |
+
|
702 |
+
|
703 |
+
|
704 |
if ( ! function_exists( 'bpwfwp_print_map' ) ) {
|
705 |
/**
|
706 |
* Print a map to the address
|
708 |
* @since 0.0.1
|
709 |
* @access public
|
710 |
* @param string $location The location associated with the map.
|
711 |
+
* @return array
|
712 |
*/
|
713 |
function bpwfwp_print_map( $location = false ) {
|
714 |
|
715 |
+
$return_data = array();
|
716 |
+
|
717 |
$address = bpfwp_setting( 'address', $location );
|
718 |
|
719 |
if ( empty( $address['text'] ) || ! bpfwp_get_display( 'show_map' ) ) {
|
759 |
}
|
760 |
?>
|
761 |
|
762 |
+
<div id="bp-map-<?php echo $id; ?>" class="bp-map" data-name="<?php echo esc_attr( bpfwp_setting( 'name', $location ) ); ?>" data-address="<?php echo esc_attr( $address['text'] ); ?>"<?php echo $attr; ?>></div>
|
763 |
|
764 |
<?php
|
765 |
+
|
766 |
+
return $return_data;
|
767 |
}
|
768 |
}
|
769 |
|
773 |
*
|
774 |
* @since 1.1
|
775 |
* @access public
|
776 |
+
* @return array
|
777 |
*/
|
778 |
function bpfwp_print_parent_organization() {
|
779 |
|
780 |
+
$return_data = array();
|
781 |
+
|
782 |
$location = bpfwp_get_display( 'location' );
|
783 |
|
784 |
if ( empty( $location ) ) {
|
785 |
return '';
|
786 |
}
|
787 |
|
788 |
+
$return_data['parentOrganization'] = bpfwp_setting( 'name' );
|
789 |
|
790 |
+
return $return_data;
|
791 |
+
}
|
792 |
+
}
|
793 |
|
794 |
+
if ( ! function_exists( 'bpfwp_json_ld_contact_print' ) ) {
|
795 |
+
/**
|
796 |
+
* Recursively print out an array of $key => $value pairs of json+ld data
|
797 |
+
*
|
798 |
+
* @since 2.1.0
|
799 |
+
* @access public
|
800 |
+
* @param mixed $json_key, an int for array data or the parameter type for json data
|
801 |
+
* @param mixed $json_data, print or recurse through it if array
|
802 |
+
* @return void
|
803 |
+
*/
|
804 |
+
function bpfwp_json_ld_contact_print( $json_key, $json_data ) {
|
805 |
+
|
806 |
+
$return_string = '';
|
807 |
+
|
808 |
+
if ( is_array( $json_data ) ) {
|
809 |
+
if ( $json_key ) { $return_string .= '"' . $json_key . '": {'; }
|
810 |
+
foreach ( $json_data as $key => $data ) { $return_string .= bpfwp_json_ld_contact_print( $key, $data ); }
|
811 |
+
if ( $json_key ) { $return_string = trim ( $return_string, ',' ) . '},'; }
|
812 |
+
}
|
813 |
+
elseif ( $json_key == 'openingHours' ) {
|
814 |
+
$return_string .= '"' . $json_key . '": ' . $json_data . ',';
|
815 |
+
}
|
816 |
+
else {
|
817 |
+
$return_string .= '"' . ( $json_key == 'type' ? '@' : '' ) . $json_key . '": "' . $json_data . '",';
|
818 |
+
}
|
819 |
+
|
820 |
+
return $return_string;
|
821 |
}
|
822 |
}
|
Binary file
|
@@ -0,0 +1,688 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2019 Theme of the Crop
|
2 |
+
# This file is distributed under the GNU General Public License v2.0 or later.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"Project-Id-Version: Business Profile 1.2.4\n"
|
6 |
+
"Report-Msgid-Bugs-To: https://themeofthecrop.com\n"
|
7 |
+
"POT-Creation-Date: 2019-03-18 10:39:33+00:00\n"
|
8 |
+
"MIME-Version: 1.0\n"
|
9 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
+
"Content-Transfer-Encoding: 8bit\n"
|
11 |
+
"PO-Revision-Date: 2020-09-25 13:20+0200\n"
|
12 |
+
"Language-Team: \n"
|
13 |
+
"X-Generator: Poedit 2.2.4\n"
|
14 |
+
"Last-Translator: \n"
|
15 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
16 |
+
"Language: de_DE\n"
|
17 |
+
|
18 |
+
#: business-profile.php:229
|
19 |
+
msgid "View the help documentation for Business Profile"
|
20 |
+
msgstr "Sehen Sie sich die Hilfe-Dokumentation für Business Profile an"
|
21 |
+
|
22 |
+
#: business-profile.php:230
|
23 |
+
msgid "Help"
|
24 |
+
msgstr "Hilfe"
|
25 |
+
|
26 |
+
#: includes/class-blocks.php:139
|
27 |
+
msgid "Use the main Business Profile"
|
28 |
+
msgstr "Verwenden des Hauptgeschäftsprofils"
|
29 |
+
|
30 |
+
#: includes/class-contact-card-widget.php:39
|
31 |
+
msgid "Show Name"
|
32 |
+
msgstr "Name anzeigen"
|
33 |
+
|
34 |
+
#: includes/class-contact-card-widget.php:40
|
35 |
+
msgid "Show Address"
|
36 |
+
msgstr "Adresse anzeigen"
|
37 |
+
|
38 |
+
#: includes/class-contact-card-widget.php:41
|
39 |
+
msgid "Show link to get directions on Google Maps"
|
40 |
+
msgstr "Zeige den Link zur Wegbeschreibung auf Google Maps"
|
41 |
+
|
42 |
+
#: includes/class-contact-card-widget.php:42
|
43 |
+
msgid "Show Phone number"
|
44 |
+
msgstr "Telefonnummer anzeigen"
|
45 |
+
|
46 |
+
#: includes/class-contact-card-widget.php:43
|
47 |
+
msgid "Show contact details"
|
48 |
+
msgstr "Kontaktdaten anzeigen"
|
49 |
+
|
50 |
+
#: includes/class-contact-card-widget.php:44
|
51 |
+
msgid "Show Opening Hours"
|
52 |
+
msgstr "Öffnungszeiten anzeigen"
|
53 |
+
|
54 |
+
#: includes/class-contact-card-widget.php:45
|
55 |
+
msgid "Show brief opening hours on one line"
|
56 |
+
msgstr "Kurze Öffnungszeiten auf einer Linie anzeigen"
|
57 |
+
|
58 |
+
#: includes/class-contact-card-widget.php:46
|
59 |
+
msgid "Show Google Map"
|
60 |
+
msgstr "Google Map anzeigen"
|
61 |
+
|
62 |
+
#: includes/class-contact-card-widget.php:52
|
63 |
+
msgid "Contact Card"
|
64 |
+
msgstr "Visitenkarte"
|
65 |
+
|
66 |
+
#: includes/class-contact-card-widget.php:53
|
67 |
+
msgid ""
|
68 |
+
"Display a contact card with your name, address, phone number, opening hours "
|
69 |
+
"and map."
|
70 |
+
msgstr ""
|
71 |
+
"Zeigen Sie eine Kontaktkarte mit Ihrem Namen, Adresse, Telefonnummer, "
|
72 |
+
"Öffnungszeiten und Karte an."
|
73 |
+
|
74 |
+
#: includes/class-contact-card-widget.php:91
|
75 |
+
msgid "Title"
|
76 |
+
msgstr "Titel"
|
77 |
+
|
78 |
+
#: includes/class-contact-card-widget.php:117
|
79 |
+
#: includes/class-custom-post-types.php:60
|
80 |
+
msgid "Location"
|
81 |
+
msgstr "Standort"
|
82 |
+
|
83 |
+
#: includes/class-contact-card-widget.php:119
|
84 |
+
msgid "Use Primary Business Profile"
|
85 |
+
msgstr "Hauptgeschäfts-Profil verwenden"
|
86 |
+
|
87 |
+
#: includes/class-custom-post-types.php:59
|
88 |
+
#: includes/class-custom-post-types.php:61
|
89 |
+
#: includes/class-custom-post-types.php:62 includes/class-settings.php:212
|
90 |
+
#: includes/class-settings.php:213
|
91 |
+
msgid "Locations"
|
92 |
+
msgstr "Standorte"
|
93 |
+
|
94 |
+
#: includes/class-custom-post-types.php:63
|
95 |
+
msgid "Add New"
|
96 |
+
msgstr "Neuer Seminare"
|
97 |
+
|
98 |
+
#: includes/class-custom-post-types.php:64
|
99 |
+
msgid "Add New Location"
|
100 |
+
msgstr "Neuen Standort hinzufügen"
|
101 |
+
|
102 |
+
#: includes/class-custom-post-types.php:65
|
103 |
+
msgid "Edit Location"
|
104 |
+
msgstr "Standort bearbeiten"
|
105 |
+
|
106 |
+
#: includes/class-custom-post-types.php:66
|
107 |
+
msgid "New Location"
|
108 |
+
msgstr "Neuer Standort"
|
109 |
+
|
110 |
+
#: includes/class-custom-post-types.php:67
|
111 |
+
msgid "View Location"
|
112 |
+
msgstr "Standort anzeigen"
|
113 |
+
|
114 |
+
#: includes/class-custom-post-types.php:68
|
115 |
+
msgid "View Locations"
|
116 |
+
msgstr "Standorte ansehen"
|
117 |
+
|
118 |
+
#: includes/class-custom-post-types.php:69
|
119 |
+
msgid "Search Locations"
|
120 |
+
msgstr "Standorte durchsuchen"
|
121 |
+
|
122 |
+
#: includes/class-custom-post-types.php:70
|
123 |
+
msgid "No locations found"
|
124 |
+
msgstr "Keine Standorte gefunden"
|
125 |
+
|
126 |
+
#: includes/class-custom-post-types.php:71
|
127 |
+
msgid "No locations found in trash"
|
128 |
+
msgstr "Keine Standorte im Papierkorb gefunden"
|
129 |
+
|
130 |
+
#: includes/class-custom-post-types.php:72
|
131 |
+
msgid "All Locations"
|
132 |
+
msgstr "Alle Standorte"
|
133 |
+
|
134 |
+
#: includes/class-custom-post-types.php:149 includes/class-settings.php:262
|
135 |
+
msgid "Schema Type"
|
136 |
+
msgstr "Schema Typ"
|
137 |
+
|
138 |
+
#: includes/class-custom-post-types.php:160
|
139 |
+
msgid "Contact Details"
|
140 |
+
msgstr "Kontaktdetails"
|
141 |
+
|
142 |
+
#: includes/class-custom-post-types.php:170
|
143 |
+
#: includes/class-custom-post-types.php:413 includes/class-settings.php:432
|
144 |
+
#: templates/opening-hours.php:21
|
145 |
+
msgid "Opening Hours"
|
146 |
+
msgstr "Öffnungszeiten"
|
147 |
+
|
148 |
+
#: includes/class-custom-post-types.php:231
|
149 |
+
msgid "Schema type"
|
150 |
+
msgstr "Schema Typ"
|
151 |
+
|
152 |
+
#: includes/class-custom-post-types.php:241 includes/class-settings.php:263
|
153 |
+
msgid ""
|
154 |
+
"Select the option that best describes your business to improve how search "
|
155 |
+
"engines understand your website."
|
156 |
+
msgstr ""
|
157 |
+
"Wählen Sie die Option, die am besten Ihr Geschäft beschreibt um damit "
|
158 |
+
"Suchmaschinen Ihre Website besser verstehen können."
|
159 |
+
|
160 |
+
#: includes/class-custom-post-types.php:270
|
161 |
+
#: includes/class-custom-post-types.php:294 includes/class-settings.php:329
|
162 |
+
msgid "No map coordinates set."
|
163 |
+
msgstr "Keine Karten Koordinaten festgelegt."
|
164 |
+
|
165 |
+
#: includes/class-custom-post-types.php:272 includes/class-settings.php:330
|
166 |
+
msgid "Requesting new coordinates"
|
167 |
+
msgstr "Abfrage neuer Koordinaten"
|
168 |
+
|
169 |
+
#: includes/class-custom-post-types.php:273 includes/class-settings.php:331
|
170 |
+
msgid "Select a match below"
|
171 |
+
msgstr "Wählen Sie unten eine Übereinstimmung aus"
|
172 |
+
|
173 |
+
#: includes/class-custom-post-types.php:274
|
174 |
+
#: includes/class-custom-post-types.php:297 includes/class-settings.php:332
|
175 |
+
msgid "View"
|
176 |
+
msgstr "Anzeigen"
|
177 |
+
|
178 |
+
#: includes/class-custom-post-types.php:275 includes/class-settings.php:336
|
179 |
+
msgid "Error"
|
180 |
+
msgstr "Fehler"
|
181 |
+
|
182 |
+
#: includes/class-custom-post-types.php:276 includes/class-settings.php:337
|
183 |
+
msgid ""
|
184 |
+
"Invalid request. Be sure to fill out the address field before retrieving "
|
185 |
+
"coordinates."
|
186 |
+
msgstr ""
|
187 |
+
"Ungültige Anforderung. Achten Sie darauf, das Adressfeld auszufüllen, bevor "
|
188 |
+
"Sie Koordinaten abrufen."
|
189 |
+
|
190 |
+
#: includes/class-custom-post-types.php:277 includes/class-settings.php:338
|
191 |
+
msgid "Request denied."
|
192 |
+
msgstr "Anfrage verweigert."
|
193 |
+
|
194 |
+
#: includes/class-custom-post-types.php:278 includes/class-settings.php:339
|
195 |
+
msgid "Request denied because you are over your request quota."
|
196 |
+
msgstr "Anfrage wurde verweigert, da Sie Ihr Kontingent erreicht haben."
|
197 |
+
|
198 |
+
#: includes/class-custom-post-types.php:279
|
199 |
+
msgid "Nothing was found at that address."
|
200 |
+
msgstr "An dieser Adresse wurde nichts gefunden."
|
201 |
+
|
202 |
+
#: includes/class-custom-post-types.php:304 includes/class-settings.php:333
|
203 |
+
msgid "Retrieve map coordinates"
|
204 |
+
msgstr "Abrufen der Karten-Koordinaten"
|
205 |
+
|
206 |
+
#: includes/class-custom-post-types.php:308 includes/class-settings.php:334
|
207 |
+
msgid "Remove map coordinates"
|
208 |
+
msgstr "Karten-Koordinaten entfernen"
|
209 |
+
|
210 |
+
#: includes/class-custom-post-types.php:336 includes/class-settings.php:390
|
211 |
+
msgid "Contact Page"
|
212 |
+
msgstr "Kontaktseite"
|
213 |
+
|
214 |
+
#: includes/class-custom-post-types.php:350 includes/class-settings.php:409
|
215 |
+
msgid "Email Address (optional)"
|
216 |
+
msgstr "E-Mail-Adresse (optional)"
|
217 |
+
|
218 |
+
#: includes/class-custom-post-types.php:357
|
219 |
+
msgid "Phone Number"
|
220 |
+
msgstr "Telefonnummer"
|
221 |
+
|
222 |
+
#: includes/class-custom-post-types.php:414 includes/class-settings.php:433
|
223 |
+
msgid "Define your weekly opening hours by adding scheduling rules."
|
224 |
+
msgstr ""
|
225 |
+
"Definieren Sie Ihre wöchentlichen Öffnungszeiten durch Hinzufügen von "
|
226 |
+
"Planungsregeln."
|
227 |
+
|
228 |
+
#: includes/class-custom-post-types.php:429 includes/class-settings.php:448
|
229 |
+
msgid "Add another opening time"
|
230 |
+
msgstr "Fügen Sie eine weitere Öffnungszeit hinzu"
|
231 |
+
|
232 |
+
#: includes/class-custom-post-types.php:443 includes/class-settings.php:462
|
233 |
+
msgid "Delete scheduling rule"
|
234 |
+
msgstr "Terminierungsregel löschen"
|
235 |
+
|
236 |
+
#. Plugin Name of the plugin/theme
|
237 |
+
msgid "Business Profile"
|
238 |
+
msgstr "Geschäftsprofil"
|
239 |
+
|
240 |
+
#: includes/class-settings.php:252
|
241 |
+
msgid "Search Engine Optimization"
|
242 |
+
msgstr "Search Engine Optimization"
|
243 |
+
|
244 |
+
#: includes/class-settings.php:279
|
245 |
+
msgid "Image"
|
246 |
+
msgstr "Bild"
|
247 |
+
|
248 |
+
#: includes/class-settings.php:280
|
249 |
+
msgid ""
|
250 |
+
"Google requires you provide an image to display with your local business "
|
251 |
+
"search profile."
|
252 |
+
msgstr ""
|
253 |
+
"Google erfordert, dass Sie ein Bild zur Anzeige mit Ihrem lokalen "
|
254 |
+
"Geschäftssuchprofil bereitstellen."
|
255 |
+
|
256 |
+
#: includes/class-settings.php:282
|
257 |
+
msgid "Add Image"
|
258 |
+
msgstr "Bild hinzufügen"
|
259 |
+
|
260 |
+
#: includes/class-settings.php:283
|
261 |
+
msgid "Change Image"
|
262 |
+
msgstr "Bild ändern"
|
263 |
+
|
264 |
+
#: includes/class-settings.php:284
|
265 |
+
msgid "Remove Image"
|
266 |
+
msgstr "Bild entfernen"
|
267 |
+
|
268 |
+
#: includes/class-settings.php:297
|
269 |
+
msgid "Contact Information"
|
270 |
+
msgstr "Kontaktinformationen"
|
271 |
+
|
272 |
+
#: includes/class-settings.php:307
|
273 |
+
msgid "Name"
|
274 |
+
msgstr "Name"
|
275 |
+
|
276 |
+
#: includes/class-settings.php:308
|
277 |
+
msgid ""
|
278 |
+
"Enter the name of your business if it is different than the website name."
|
279 |
+
msgstr ""
|
280 |
+
"Geben Sie den Namen Ihres Unternehmens ein, wenn er sich vom Website-Name "
|
281 |
+
"unterscheidet."
|
282 |
+
|
283 |
+
#: includes/class-settings.php:324
|
284 |
+
msgid "Address"
|
285 |
+
msgstr "Straße und Hausnummer"
|
286 |
+
|
287 |
+
#: includes/class-settings.php:335
|
288 |
+
msgid "Try again?"
|
289 |
+
msgstr "Nochmal versuchen?"
|
290 |
+
|
291 |
+
#: includes/class-settings.php:340
|
292 |
+
msgid "Nothing was found at that address"
|
293 |
+
msgstr "Unter dieser Adresse wurde nichts gefunden."
|
294 |
+
|
295 |
+
#: includes/class-settings.php:355
|
296 |
+
msgid "Google Maps API Key"
|
297 |
+
msgstr "Google Maps API-Schlüssel"
|
298 |
+
|
299 |
+
#: includes/class-settings.php:357
|
300 |
+
msgid ""
|
301 |
+
"Google requires an API key to use their maps. %sGet an API key%s. A full "
|
302 |
+
"walk-through is available in the %sdocumentiaton%s."
|
303 |
+
msgstr ""
|
304 |
+
"Google setzt einen API Key vorraus um ihre Maps zu nutzen. %sAPI Key "
|
305 |
+
"erhalten %s. Ein kompletter Walk-Through ist in der %sDokumentation%s zu "
|
306 |
+
"finden."
|
307 |
+
|
308 |
+
#: includes/class-settings.php:376
|
309 |
+
msgid "Phone"
|
310 |
+
msgstr "Telefon"
|
311 |
+
|
312 |
+
#: includes/class-settings.php:391
|
313 |
+
msgid ""
|
314 |
+
"Select a page on your site where users can reach you, such as a contact form."
|
315 |
+
msgstr ""
|
316 |
+
"Wählen Sie eine Seite auf Ihrer Website, wie z. B. ein Kontaktformular über "
|
317 |
+
"dass Besucher sie erreichen können."
|
318 |
+
|
319 |
+
#: includes/class-settings.php:410
|
320 |
+
msgid ""
|
321 |
+
"Enter an email address only if you want to display this publicly. Showing "
|
322 |
+
"your email address on your site may cause you to receive excessive spam."
|
323 |
+
msgstr ""
|
324 |
+
"Geben Sie eine E-Mail Adresse aber nur dann, wenn Sie diese öffentlich "
|
325 |
+
"anzeigen möchten. Durch ihre E-Mail Adresse öffentlich auf der Homepage kann "
|
326 |
+
"es passieren, dass sie übermäßig viel Spam erhalten."
|
327 |
+
|
328 |
+
#: includes/class-settings.php:422
|
329 |
+
msgid "Schedule"
|
330 |
+
msgstr "Termine"
|
331 |
+
|
332 |
+
#: includes/class-settings.php:482 includes/class-settings.php:492
|
333 |
+
#, fuzzy
|
334 |
+
msgid "Multiple Locations"
|
335 |
+
msgstr "Mehrere Standorte"
|
336 |
+
|
337 |
+
#: includes/class-settings.php:493
|
338 |
+
msgid "Enable support for multiple business locations."
|
339 |
+
msgstr "Aktivieren Sie die Unterstützung für mehrere Standorte."
|
340 |
+
|
341 |
+
#: includes/deprecated/class-integrations.php:147
|
342 |
+
msgid "Book a table"
|
343 |
+
msgstr "Einen Tisch reservieren"
|
344 |
+
|
345 |
+
#: includes/deprecated/class-integrations.php:170
|
346 |
+
#: includes/deprecated/class-integrations.php:173
|
347 |
+
msgid "Show book a table link"
|
348 |
+
msgstr "Zeige den Link zum Tisch buchen an."
|
349 |
+
|
350 |
+
#: includes/template-functions.php:218
|
351 |
+
msgid "Get directions"
|
352 |
+
msgstr "Route berechnen"
|
353 |
+
|
354 |
+
#: includes/template-functions.php:293
|
355 |
+
msgid "Contact"
|
356 |
+
msgstr "Kontakt"
|
357 |
+
|
358 |
+
#: includes/template-functions.php:341
|
359 |
+
msgid "Mo"
|
360 |
+
msgstr "Mo"
|
361 |
+
|
362 |
+
#: includes/template-functions.php:342
|
363 |
+
msgid "Tu"
|
364 |
+
msgstr "Di"
|
365 |
+
|
366 |
+
#: includes/template-functions.php:343
|
367 |
+
msgid "We"
|
368 |
+
msgstr "Mi"
|
369 |
+
|
370 |
+
#: includes/template-functions.php:344
|
371 |
+
msgid "Th"
|
372 |
+
msgstr "Do"
|
373 |
+
|
374 |
+
#: includes/template-functions.php:345
|
375 |
+
msgid "Fr"
|
376 |
+
msgstr "Fr"
|
377 |
+
|
378 |
+
#: includes/template-functions.php:346
|
379 |
+
msgid "Sa"
|
380 |
+
msgstr "Sa"
|
381 |
+
|
382 |
+
#: includes/template-functions.php:347
|
383 |
+
msgid "Su"
|
384 |
+
msgstr "So"
|
385 |
+
|
386 |
+
#: includes/template-functions.php:388
|
387 |
+
msgid "Monday"
|
388 |
+
msgstr "Montag"
|
389 |
+
|
390 |
+
#: includes/template-functions.php:389
|
391 |
+
msgid "Tuesday"
|
392 |
+
msgstr "Dienstag"
|
393 |
+
|
394 |
+
#: includes/template-functions.php:390
|
395 |
+
msgid "Wednesday"
|
396 |
+
msgstr "Mittwoch"
|
397 |
+
|
398 |
+
#: includes/template-functions.php:391
|
399 |
+
msgid "Thursday"
|
400 |
+
msgstr "Donnerstag"
|
401 |
+
|
402 |
+
#: includes/template-functions.php:392
|
403 |
+
msgid "Friday"
|
404 |
+
msgstr "Freitag"
|
405 |
+
|
406 |
+
#: includes/template-functions.php:393
|
407 |
+
msgid "Saturday"
|
408 |
+
msgstr "Samstag"
|
409 |
+
|
410 |
+
#: includes/template-functions.php:394
|
411 |
+
msgid "Sunday"
|
412 |
+
msgstr "Sonntag"
|
413 |
+
|
414 |
+
#: includes/template-functions.php:406
|
415 |
+
msgid "Open"
|
416 |
+
msgstr "Offen"
|
417 |
+
|
418 |
+
#: includes/template-functions.php:418
|
419 |
+
msgid "Open until "
|
420 |
+
msgstr "Geöffnet bis"
|
421 |
+
|
422 |
+
#: includes/template-functions.php:420
|
423 |
+
msgid "Open from "
|
424 |
+
msgstr "Geöffnet von"
|
425 |
+
|
426 |
+
#: includes/template-functions.php:442
|
427 |
+
msgid "Closed"
|
428 |
+
msgstr "Geschlossen"
|
429 |
+
|
430 |
+
#: includes/template-functions.php:566
|
431 |
+
msgid "Get Directions"
|
432 |
+
msgstr "Routenplaner"
|
433 |
+
|
434 |
+
#: lib/simple-admin-pages/classes/AdminPage.class.php:173
|
435 |
+
msgid "You do not have sufficient permissions to access this page."
|
436 |
+
msgstr ""
|
437 |
+
"Du hast nicht die erforderlichen Rechte, um auf diese Seite zuzugreifen."
|
438 |
+
|
439 |
+
#. Author URI of the plugin/theme
|
440 |
+
msgid "http://themeofthecrop.com"
|
441 |
+
msgstr "http://themeofthecrop.com"
|
442 |
+
|
443 |
+
#. Description of the plugin/theme
|
444 |
+
msgid ""
|
445 |
+
"Contact information, Google Maps and opening hours made easy for businesses."
|
446 |
+
msgstr ""
|
447 |
+
"Kontakt-Information, Google Maps und Öffnungszeiten einfach gemacht für "
|
448 |
+
"Geschäfte/Firmen."
|
449 |
+
|
450 |
+
#. Author of the plugin/theme
|
451 |
+
msgid "Theme of the Crop"
|
452 |
+
msgstr "Theme of the Crop"
|
453 |
+
|
454 |
+
#: includes/class-custom-post-types.php:271
|
455 |
+
#: includes/class-custom-post-types.php:296 includes/class-settings.php:328
|
456 |
+
msgctxt "separates latitude and longitude"
|
457 |
+
msgid ", "
|
458 |
+
msgstr ", "
|
459 |
+
|
460 |
+
#: includes/class-custom-post-types.php:306 includes/class-settings.php:327
|
461 |
+
msgctxt "separator between admin action links in address component"
|
462 |
+
msgid " | "
|
463 |
+
msgstr " | "
|
464 |
+
|
465 |
+
#: includes/class-custom-post-types.php:416 includes/class-settings.php:435
|
466 |
+
msgctxt "Monday abbreviation"
|
467 |
+
msgid "Mo"
|
468 |
+
msgstr "Mo"
|
469 |
+
|
470 |
+
#: includes/class-custom-post-types.php:417 includes/class-settings.php:436
|
471 |
+
msgctxt "Tuesday abbreviation"
|
472 |
+
msgid "Tu"
|
473 |
+
msgstr "Di"
|
474 |
+
|
475 |
+
#: includes/class-custom-post-types.php:418 includes/class-settings.php:437
|
476 |
+
msgctxt "Wednesday abbreviation"
|
477 |
+
msgid "We"
|
478 |
+
msgstr "Mi"
|
479 |
+
|
480 |
+
#: includes/class-custom-post-types.php:419 includes/class-settings.php:438
|
481 |
+
msgctxt "Thursday abbreviation"
|
482 |
+
msgid "Th"
|
483 |
+
msgstr "Do"
|
484 |
+
|
485 |
+
#: includes/class-custom-post-types.php:420 includes/class-settings.php:439
|
486 |
+
msgctxt "Friday abbreviation"
|
487 |
+
msgid "Fr"
|
488 |
+
msgstr "Fr"
|
489 |
+
|
490 |
+
#: includes/class-custom-post-types.php:421 includes/class-settings.php:440
|
491 |
+
msgctxt "Saturday abbreviation"
|
492 |
+
msgid "Sa"
|
493 |
+
msgstr "Sa"
|
494 |
+
|
495 |
+
#: includes/class-custom-post-types.php:422 includes/class-settings.php:441
|
496 |
+
msgctxt "Sunday abbreviation"
|
497 |
+
msgid "Su"
|
498 |
+
msgstr "So"
|
499 |
+
|
500 |
+
#: includes/class-custom-post-types.php:424 includes/class-settings.php:443
|
501 |
+
msgctxt ""
|
502 |
+
"Time format displayed in the opening hours setting panel in your admin area. "
|
503 |
+
"Must match formatting rules at http://amsul.ca/pickadate.js/time.htm#formats"
|
504 |
+
msgid "h:i A"
|
505 |
+
msgstr "h:i A"
|
506 |
+
|
507 |
+
#: includes/class-custom-post-types.php:425 includes/class-settings.php:444
|
508 |
+
msgctxt ""
|
509 |
+
"Date format displayed in the opening hours setting panel in your admin area. "
|
510 |
+
"Must match formatting rules at http://amsul.ca/pickadate.js/date."
|
511 |
+
"htm#formatting-rules"
|
512 |
+
msgid "mmmm d, yyyy"
|
513 |
+
msgstr "mmmm d, yyyy"
|
514 |
+
|
515 |
+
#: includes/class-custom-post-types.php:430 includes/class-settings.php:449
|
516 |
+
#, fuzzy
|
517 |
+
msgctxt "Format of a scheduling rule"
|
518 |
+
msgid "Weekly"
|
519 |
+
msgstr "wöchentlich"
|
520 |
+
|
521 |
+
#: includes/class-custom-post-types.php:431 includes/class-settings.php:450
|
522 |
+
#, fuzzy
|
523 |
+
msgctxt "Format of a scheduling rule"
|
524 |
+
msgid "Monthly"
|
525 |
+
msgstr "monatlich"
|
526 |
+
|
527 |
+
#: includes/class-custom-post-types.php:432 includes/class-settings.php:451
|
528 |
+
msgctxt "Format of a scheduling rule"
|
529 |
+
msgid "Date"
|
530 |
+
msgstr "Datum"
|
531 |
+
|
532 |
+
#: includes/class-custom-post-types.php:433 includes/class-settings.php:452
|
533 |
+
msgctxt "Label for selecting days of the week in a scheduling rule"
|
534 |
+
msgid "Days of the week"
|
535 |
+
msgstr "Wochentage"
|
536 |
+
|
537 |
+
#: includes/class-custom-post-types.php:434 includes/class-settings.php:453
|
538 |
+
msgctxt "Label for selecting weeks of the month in a scheduling rule"
|
539 |
+
msgid "Weeks of the month"
|
540 |
+
msgstr "Wochen im Monat"
|
541 |
+
|
542 |
+
#: includes/class-custom-post-types.php:435 includes/class-settings.php:454
|
543 |
+
msgctxt "Label to select a date for a scheduling rule"
|
544 |
+
msgid "Date"
|
545 |
+
msgstr "Datum"
|
546 |
+
|
547 |
+
#: includes/class-custom-post-types.php:436 includes/class-settings.php:455
|
548 |
+
msgctxt "Label to select a time slot for a scheduling rule"
|
549 |
+
msgid "Time"
|
550 |
+
msgstr "Zeit"
|
551 |
+
|
552 |
+
#: includes/class-custom-post-types.php:437 includes/class-settings.php:456
|
553 |
+
msgctxt "Label to set a scheduling rule to last all day"
|
554 |
+
msgid "All day"
|
555 |
+
msgstr "ganztags"
|
556 |
+
|
557 |
+
#: includes/class-custom-post-types.php:438 includes/class-settings.php:457
|
558 |
+
msgctxt "Label for the starting time of a scheduling rule"
|
559 |
+
msgid "Start"
|
560 |
+
msgstr "Start"
|
561 |
+
|
562 |
+
#: includes/class-custom-post-types.php:439 includes/class-settings.php:458
|
563 |
+
msgctxt "Label for the ending time of a scheduling rule"
|
564 |
+
msgid "End"
|
565 |
+
msgstr "Ende"
|
566 |
+
|
567 |
+
#: includes/class-custom-post-types.php:440 includes/class-settings.php:459
|
568 |
+
msgctxt ""
|
569 |
+
"Prompt displayed when a scheduling rule is set without any time restrictions"
|
570 |
+
msgid "All day long. Want to %sset a time slot%s?"
|
571 |
+
msgstr "Ganztägig. Möchten Sie %sÖffnungszeiten%s angeben?"
|
572 |
+
|
573 |
+
#: includes/class-custom-post-types.php:441 includes/class-settings.php:460
|
574 |
+
msgctxt "Toggle a scheduling rule open and closed"
|
575 |
+
msgid "Open and close this rule"
|
576 |
+
msgstr "Öffnen und Schliessen dieser Regel"
|
577 |
+
|
578 |
+
#: includes/class-custom-post-types.php:442 includes/class-settings.php:461
|
579 |
+
msgctxt "Delete a scheduling rule"
|
580 |
+
msgid "Delete rule"
|
581 |
+
msgstr "Regel löschen"
|
582 |
+
|
583 |
+
#: includes/class-custom-post-types.php:444 includes/class-settings.php:463
|
584 |
+
msgctxt ""
|
585 |
+
"Brief default description of a scheduling rule when no weekdays or weeks are "
|
586 |
+
"included in the rule"
|
587 |
+
msgid "Never"
|
588 |
+
msgstr "Niemals"
|
589 |
+
|
590 |
+
#: includes/class-custom-post-types.php:445 includes/class-settings.php:464
|
591 |
+
#, fuzzy
|
592 |
+
msgctxt ""
|
593 |
+
"Brief default description of a scheduling rule when all the weekdays/weeks "
|
594 |
+
"are included in the rule"
|
595 |
+
msgid "Every day"
|
596 |
+
msgstr "jeden Tag"
|
597 |
+
|
598 |
+
#: includes/class-custom-post-types.php:446 includes/class-settings.php:465
|
599 |
+
msgctxt ""
|
600 |
+
"Brief default description of a scheduling rule when some weekdays are "
|
601 |
+
"included on only some weeks of the month. %s should be left alone and will "
|
602 |
+
"be replaced by a comma-separated list of days and weeks in the following "
|
603 |
+
"format: M, T, W on the first, second week of the month"
|
604 |
+
msgid "%s on the %s week of the month"
|
605 |
+
msgstr "%s in der %s Woche des Monats"
|
606 |
+
|
607 |
+
#: includes/class-custom-post-types.php:447 includes/class-settings.php:466
|
608 |
+
msgctxt ""
|
609 |
+
"Brief default description of a scheduling rule when some weeks of the month "
|
610 |
+
"are included but all or no weekdays are selected. %s should be left alone "
|
611 |
+
"and will be replaced by a comma-separated list of weeks in the following "
|
612 |
+
"format: First, second week of the month"
|
613 |
+
msgid "%s week of the month"
|
614 |
+
msgstr "%s Woche des Monats"
|
615 |
+
|
616 |
+
#: includes/class-custom-post-types.php:448 includes/class-settings.php:467
|
617 |
+
msgctxt "Brief default description of a scheduling rule when no times are set"
|
618 |
+
msgid "All day"
|
619 |
+
msgstr "ganztags"
|
620 |
+
|
621 |
+
#: includes/class-custom-post-types.php:449 includes/class-settings.php:468
|
622 |
+
msgctxt ""
|
623 |
+
"Brief default description of a scheduling rule when an end time is set but "
|
624 |
+
"no start time. If the end time is 6pm, it will read: Ends at 6pm"
|
625 |
+
msgid "Ends at"
|
626 |
+
msgstr "Endet um"
|
627 |
+
|
628 |
+
#: includes/class-custom-post-types.php:450 includes/class-settings.php:469
|
629 |
+
msgctxt ""
|
630 |
+
"Brief default description of a scheduling rule when a start time is set but "
|
631 |
+
"no end time. If the start time is 6pm, it will read: Starts at 6pm"
|
632 |
+
msgid "Starts at"
|
633 |
+
msgstr "Beginnt um"
|
634 |
+
|
635 |
+
#: includes/class-custom-post-types.php:451 includes/class-settings.php:470
|
636 |
+
msgctxt "Separator between times of a scheduling rule"
|
637 |
+
msgid "—"
|
638 |
+
msgstr "—"
|
639 |
+
|
640 |
+
#: includes/template-functions.php:352
|
641 |
+
msgctxt ""
|
642 |
+
"Separator between days of the week when displaying opening hours in brief. "
|
643 |
+
"Example: Mo,Tu,We"
|
644 |
+
msgid ","
|
645 |
+
msgstr ","
|
646 |
+
|
647 |
+
#: includes/template-functions.php:355
|
648 |
+
msgctxt ""
|
649 |
+
"Brief opening hours description which lists days_strings when open all day. "
|
650 |
+
"Example: Mo,Tu,We all day"
|
651 |
+
msgid "%s all day"
|
652 |
+
msgstr "%s ganztägig"
|
653 |
+
|
654 |
+
#: includes/template-functions.php:367
|
655 |
+
msgctxt ""
|
656 |
+
"Brief opening hours description which lists the days followed by the closing "
|
657 |
+
"time. Example: Mo,Tu,We open until 9:00pm"
|
658 |
+
msgid "%s open until %s"
|
659 |
+
msgstr "%s offen bis %s"
|
660 |
+
|
661 |
+
#: includes/template-functions.php:369
|
662 |
+
msgctxt ""
|
663 |
+
"Brief opening hours description which lists the days followed by the opening "
|
664 |
+
"time. Example: Mo,Tu,We open from 9:00am"
|
665 |
+
msgid "%s open from %s"
|
666 |
+
msgstr "%s geöffnet von %s"
|
667 |
+
|
668 |
+
#: includes/template-functions.php:371
|
669 |
+
msgctxt ""
|
670 |
+
"Brief opening hours description which lists the days followed by the opening "
|
671 |
+
"and closing times. Example: Mo,Tu,We 9:00am – 5:00pm"
|
672 |
+
msgid "%s %s – %s"
|
673 |
+
msgstr "%s %s – %s Uhr"
|
674 |
+
|
675 |
+
#: includes/template-functions.php:378
|
676 |
+
msgctxt ""
|
677 |
+
"Separator between multiple opening times in the brief opening hours. "
|
678 |
+
"Example: Mo,We 9:00 AM – 5:00 PM; Tu,Th 10:00 AM "
|
679 |
+
"– 5:00 PM"
|
680 |
+
msgid "; "
|
681 |
+
msgstr ";"
|
682 |
+
|
683 |
+
#: includes/template-functions.php:422
|
684 |
+
msgctxt ""
|
685 |
+
"Separator between opening and closing times. Example: 9:00am –"
|
686 |
+
" 5:00pm"
|
687 |
+
msgid " – "
|
688 |
+
msgstr " – "
|
@@ -1,659 +1,695 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
"
|
6 |
-
"
|
7 |
-
"
|
8 |
-
"
|
9 |
-
"
|
10 |
-
"Content-
|
11 |
-
"
|
12 |
-
"
|
13 |
-
"
|
14 |
-
"
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
#: includes/class-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
#: includes/class-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
#:
|
86 |
-
#: includes/class-settings.php:
|
87 |
-
msgid "
|
88 |
-
msgstr ""
|
89 |
-
|
90 |
-
#:
|
91 |
-
msgid "
|
92 |
-
msgstr ""
|
93 |
-
|
94 |
-
#:
|
95 |
-
msgid "
|
96 |
-
msgstr ""
|
97 |
-
|
98 |
-
#: includes/class-
|
99 |
-
msgid "
|
100 |
-
msgstr ""
|
101 |
-
|
102 |
-
#: includes/class-
|
103 |
-
msgid "
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
#: includes/class-custom-post-types.php:
|
119 |
-
msgid "
|
120 |
-
msgstr ""
|
121 |
-
|
122 |
-
#: includes/class-custom-post-types.php:
|
123 |
-
msgid "
|
124 |
-
msgstr ""
|
125 |
-
|
126 |
-
#: includes/class-custom-post-types.php:
|
127 |
-
msgid "
|
128 |
-
msgstr ""
|
129 |
-
|
130 |
-
#: includes/class-custom-post-types.php:
|
131 |
-
msgid "
|
132 |
-
msgstr ""
|
133 |
-
|
134 |
-
#: includes/class-custom-post-types.php:
|
135 |
-
msgid "
|
136 |
-
msgstr ""
|
137 |
-
|
138 |
-
#: includes/class-custom-post-types.php:
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
"
|
152 |
-
msgstr ""
|
153 |
-
|
154 |
-
#: includes/class-custom-post-types.php:
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
"
|
180 |
-
msgstr ""
|
181 |
-
|
182 |
-
#: includes/class-custom-post-types.php:
|
183 |
-
msgid "
|
184 |
-
msgstr ""
|
185 |
-
|
186 |
-
#: includes/class-custom-post-types.php:
|
187 |
-
msgid "
|
188 |
-
msgstr ""
|
189 |
-
|
190 |
-
#: includes/class-custom-post-types.php:
|
191 |
-
msgid "
|
192 |
-
msgstr ""
|
193 |
-
|
194 |
-
#: includes/class-custom-post-types.php:
|
195 |
-
msgid "
|
196 |
-
msgstr ""
|
197 |
-
|
198 |
-
#: includes/class-custom-post-types.php:
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
#: includes/class-custom-post-types.php:
|
207 |
-
msgid "
|
208 |
-
msgstr ""
|
209 |
-
|
210 |
-
#: includes/class-custom-post-types.php:
|
211 |
-
msgid "
|
212 |
-
msgstr ""
|
213 |
-
|
214 |
-
#: includes/class-custom-post-types.php:
|
215 |
-
msgid "
|
216 |
-
msgstr ""
|
217 |
-
|
218 |
-
#: includes/class-custom-post-types.php:
|
219 |
-
msgid "
|
220 |
-
msgstr ""
|
221 |
-
|
222 |
-
#: includes/class-custom-post-types.php:
|
223 |
-
msgid "
|
224 |
-
msgstr ""
|
225 |
-
|
226 |
-
|
227 |
-
msgid "
|
228 |
-
msgstr ""
|
229 |
-
|
230 |
-
#: includes/class-settings.php:
|
231 |
-
msgid "
|
232 |
-
msgstr ""
|
233 |
-
|
234 |
-
#: includes/class-settings.php:
|
235 |
-
msgid "
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
"
|
242 |
-
msgstr ""
|
243 |
-
|
244 |
-
#: includes/class-settings.php:
|
245 |
-
msgid "
|
246 |
-
msgstr ""
|
247 |
-
|
248 |
-
#: includes/class-
|
249 |
-
msgid "
|
250 |
-
msgstr ""
|
251 |
-
|
252 |
-
#: includes/class-
|
253 |
-
msgid "
|
254 |
-
msgstr ""
|
255 |
-
|
256 |
-
#: includes/class-
|
257 |
-
msgid "
|
258 |
-
msgstr ""
|
259 |
-
|
260 |
-
#: includes/class-
|
261 |
-
msgid "
|
262 |
-
msgstr ""
|
263 |
-
|
264 |
-
#: includes/class-
|
265 |
-
msgid "
|
266 |
-
msgstr ""
|
267 |
-
|
268 |
-
#: includes/class-
|
269 |
-
msgid "
|
270 |
-
msgstr ""
|
271 |
-
|
272 |
-
#: includes/class-
|
273 |
-
msgid "
|
274 |
-
msgstr ""
|
275 |
-
|
276 |
-
#: includes/class-
|
277 |
-
msgid "
|
278 |
-
msgstr ""
|
279 |
-
|
280 |
-
#: includes/class-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
#: includes/class-
|
295 |
-
|
296 |
-
"
|
297 |
-
"
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
"
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
msgid "
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
msgstr ""
|
366 |
-
|
367 |
-
#: includes/
|
368 |
-
msgid "
|
369 |
-
msgstr ""
|
370 |
-
|
371 |
-
#: includes/
|
372 |
-
msgid "
|
373 |
-
msgstr ""
|
374 |
-
|
375 |
-
#: includes/
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
msgstr ""
|
390 |
-
|
391 |
-
#: includes/
|
392 |
-
msgid "
|
393 |
-
msgstr ""
|
394 |
-
|
395 |
-
#: includes/
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
msgstr ""
|
418 |
-
|
419 |
-
|
420 |
-
msgid "
|
421 |
-
msgstr ""
|
422 |
-
|
423 |
-
|
424 |
-
msgid "
|
425 |
-
msgstr ""
|
426 |
-
|
427 |
-
#: includes/class-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
msgid "
|
441 |
-
msgstr ""
|
442 |
-
|
443 |
-
#: includes/class-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
"
|
477 |
-
"
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
"
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
msgid "
|
502 |
-
msgstr ""
|
503 |
-
|
504 |
-
#: includes/class-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
msgstr ""
|
538 |
-
|
539 |
-
#: includes/class-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
"
|
565 |
-
|
566 |
-
msgstr ""
|
567 |
-
|
568 |
-
#: includes/class-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
"
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
"
|
595 |
-
|
596 |
-
msgstr ""
|
597 |
-
|
598 |
-
#: includes/class-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
"
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
msgid "
|
622 |
-
msgstr ""
|
623 |
-
|
624 |
-
#: includes/template-functions.php:
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
"
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
"
|
658 |
-
|
659 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: Five Star Business Profile and Schema\n"
|
4 |
+
"POT-Creation-Date: 2020-10-13 16:13-0400\n"
|
5 |
+
"PO-Revision-Date: 2020-10-13 16:13-0400\n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: Five Star Plugins\n"
|
8 |
+
"Language: en\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.4.1\n"
|
13 |
+
"X-Poedit-Basepath: ..\n"
|
14 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
15 |
+
"X-Poedit-KeywordsList: __;_e\n"
|
16 |
+
"X-Poedit-SearchPath-0: .\n"
|
17 |
+
|
18 |
+
#: assets/js/block-contact-card.js:8 includes/class-contact-card-widget.php:52
|
19 |
+
msgid "Contact Card"
|
20 |
+
msgstr ""
|
21 |
+
|
22 |
+
#: assets/js/block-contact-card.js:60
|
23 |
+
msgid "Select a Location"
|
24 |
+
msgstr ""
|
25 |
+
|
26 |
+
#: assets/js/block-contact-card.js:67 includes/class-contact-card-widget.php:39
|
27 |
+
msgid "Show Name"
|
28 |
+
msgstr ""
|
29 |
+
|
30 |
+
#: assets/js/block-contact-card.js:72 includes/class-contact-card-widget.php:40
|
31 |
+
msgid "Show Address"
|
32 |
+
msgstr ""
|
33 |
+
|
34 |
+
#: assets/js/block-contact-card.js:77 includes/class-contact-card-widget.php:41
|
35 |
+
msgid "Show link to get directions on Google Maps"
|
36 |
+
msgstr ""
|
37 |
+
|
38 |
+
#: assets/js/block-contact-card.js:82 includes/class-contact-card-widget.php:42
|
39 |
+
msgid "Show Phone number"
|
40 |
+
msgstr ""
|
41 |
+
|
42 |
+
#: assets/js/block-contact-card.js:87 includes/class-contact-card-widget.php:43
|
43 |
+
msgid "Show contact details"
|
44 |
+
msgstr ""
|
45 |
+
|
46 |
+
#: assets/js/block-contact-card.js:92 includes/class-contact-card-widget.php:44
|
47 |
+
msgid "Show Opening Hours"
|
48 |
+
msgstr ""
|
49 |
+
|
50 |
+
#: assets/js/block-contact-card.js:97 includes/class-contact-card-widget.php:45
|
51 |
+
msgid "Show brief opening hours on one line"
|
52 |
+
msgstr ""
|
53 |
+
|
54 |
+
#: assets/js/block-contact-card.js:102
|
55 |
+
#: includes/class-contact-card-widget.php:46
|
56 |
+
msgid "Show Google Map"
|
57 |
+
msgstr ""
|
58 |
+
|
59 |
+
#: business-profile.php:82 business-profile.php:83
|
60 |
+
msgid "Business Profile"
|
61 |
+
msgstr ""
|
62 |
+
|
63 |
+
#: business-profile.php:276
|
64 |
+
msgid "MENU"
|
65 |
+
msgstr ""
|
66 |
+
|
67 |
+
#: business-profile.php:277
|
68 |
+
msgid "Dashboard"
|
69 |
+
msgstr ""
|
70 |
+
|
71 |
+
#: business-profile.php:278 includes/class-custom-post-types.php:83
|
72 |
+
#: includes/class-custom-post-types.php:85
|
73 |
+
#: includes/class-custom-post-types.php:86
|
74 |
+
#: includes/class-custom-post-types.php:96
|
75 |
+
msgid "Locations"
|
76 |
+
msgstr ""
|
77 |
+
|
78 |
+
#: business-profile.php:279 includes/class-custom-post-types.php:116
|
79 |
+
#: includes/class-custom-post-types.php:118
|
80 |
+
#: includes/class-custom-post-types.php:119
|
81 |
+
#: includes/class-custom-post-types.php:129
|
82 |
+
msgid "Schemas"
|
83 |
+
msgstr ""
|
84 |
+
|
85 |
+
#: business-profile.php:280 includes/class-settings.php:267
|
86 |
+
#: includes/class-settings.php:268
|
87 |
+
msgid "Settings"
|
88 |
+
msgstr ""
|
89 |
+
|
90 |
+
#: business-profile.php:321
|
91 |
+
msgid "View the help documentation for Business Profile"
|
92 |
+
msgstr ""
|
93 |
+
|
94 |
+
#: business-profile.php:322
|
95 |
+
msgid "Help"
|
96 |
+
msgstr ""
|
97 |
+
|
98 |
+
#: includes/class-blocks.php:139
|
99 |
+
msgid "Use the main Business Profile"
|
100 |
+
msgstr ""
|
101 |
+
|
102 |
+
#: includes/class-contact-card-widget.php:53
|
103 |
+
msgid ""
|
104 |
+
"Display a contact card with your name, address, phone number, opening hours "
|
105 |
+
"and map."
|
106 |
+
msgstr ""
|
107 |
+
|
108 |
+
#: includes/class-contact-card-widget.php:91
|
109 |
+
msgid "Title"
|
110 |
+
msgstr ""
|
111 |
+
|
112 |
+
#: includes/class-contact-card-widget.php:117
|
113 |
+
#: includes/class-custom-post-types.php:84 includes/class-dashboard.php:126
|
114 |
+
msgid "Location"
|
115 |
+
msgstr ""
|
116 |
+
|
117 |
+
#: includes/class-custom-post-types.php:87
|
118 |
+
#: includes/class-custom-post-types.php:120
|
119 |
+
msgid "Add New"
|
120 |
+
msgstr ""
|
121 |
+
|
122 |
+
#: includes/class-custom-post-types.php:88
|
123 |
+
msgid "Add New Location"
|
124 |
+
msgstr ""
|
125 |
+
|
126 |
+
#: includes/class-custom-post-types.php:89
|
127 |
+
msgid "Edit Location"
|
128 |
+
msgstr ""
|
129 |
+
|
130 |
+
#: includes/class-custom-post-types.php:90
|
131 |
+
msgid "New Location"
|
132 |
+
msgstr ""
|
133 |
+
|
134 |
+
#: includes/class-custom-post-types.php:91
|
135 |
+
msgid "View Location"
|
136 |
+
msgstr ""
|
137 |
+
|
138 |
+
#: includes/class-custom-post-types.php:92
|
139 |
+
msgid "View Locations"
|
140 |
+
msgstr ""
|
141 |
+
|
142 |
+
#: includes/class-custom-post-types.php:93
|
143 |
+
msgid "Search Locations"
|
144 |
+
msgstr ""
|
145 |
+
|
146 |
+
#: includes/class-custom-post-types.php:94
|
147 |
+
msgid "No locations found"
|
148 |
+
msgstr ""
|
149 |
+
|
150 |
+
#: includes/class-custom-post-types.php:95
|
151 |
+
msgid "No locations found in trash"
|
152 |
+
msgstr ""
|
153 |
+
|
154 |
+
#: includes/class-custom-post-types.php:117
|
155 |
+
msgid "Schema"
|
156 |
+
msgstr ""
|
157 |
+
|
158 |
+
#: includes/class-custom-post-types.php:121
|
159 |
+
msgid "Add New Schema"
|
160 |
+
msgstr ""
|
161 |
+
|
162 |
+
#: includes/class-custom-post-types.php:122
|
163 |
+
msgid "Edit Schema"
|
164 |
+
msgstr ""
|
165 |
+
|
166 |
+
#: includes/class-custom-post-types.php:123
|
167 |
+
msgid "New Schema"
|
168 |
+
msgstr ""
|
169 |
+
|
170 |
+
#: includes/class-custom-post-types.php:124
|
171 |
+
msgid "View Schema"
|
172 |
+
msgstr ""
|
173 |
+
|
174 |
+
#: includes/class-custom-post-types.php:125
|
175 |
+
msgid "View Schemas"
|
176 |
+
msgstr ""
|
177 |
+
|
178 |
+
#: includes/class-custom-post-types.php:126
|
179 |
+
msgid "Search Schemas"
|
180 |
+
msgstr ""
|
181 |
+
|
182 |
+
#: includes/class-custom-post-types.php:127
|
183 |
+
msgid "No schemas found"
|
184 |
+
msgstr ""
|
185 |
+
|
186 |
+
#: includes/class-custom-post-types.php:128
|
187 |
+
msgid "No schemas found in trash"
|
188 |
+
msgstr ""
|
189 |
+
|
190 |
+
#: includes/class-custom-post-types.php:207 includes/class-settings.php:298
|
191 |
+
msgid "Schema Type"
|
192 |
+
msgstr ""
|
193 |
+
|
194 |
+
#: includes/class-custom-post-types.php:218
|
195 |
+
msgid "Contact Details"
|
196 |
+
msgstr ""
|
197 |
+
|
198 |
+
#: includes/class-custom-post-types.php:228
|
199 |
+
#: includes/class-custom-post-types.php:691
|
200 |
+
#: includes/class-installation-walkthrough.php:28
|
201 |
+
#: includes/class-settings.php:501 templates/opening-hours.php:21
|
202 |
+
msgid "Opening Hours"
|
203 |
+
msgstr ""
|
204 |
+
|
205 |
+
#: includes/class-custom-post-types.php:238
|
206 |
+
#: includes/class-custom-post-types.php:749 includes/class-settings.php:553
|
207 |
+
msgid "Exceptions"
|
208 |
+
msgstr ""
|
209 |
+
|
210 |
+
#: includes/class-custom-post-types.php:248
|
211 |
+
msgid "Schema Details"
|
212 |
+
msgstr ""
|
213 |
+
|
214 |
+
#: includes/class-custom-post-types.php:353 includes/class-settings.php:366
|
215 |
+
msgid "No map coordinates set."
|
216 |
+
msgstr ""
|
217 |
+
|
218 |
+
#: includes/class-custom-post-types.php:355 includes/class-settings.php:367
|
219 |
+
msgid "Requesting new coordinates"
|
220 |
+
msgstr ""
|
221 |
+
|
222 |
+
#: includes/class-custom-post-types.php:356 includes/class-settings.php:368
|
223 |
+
msgid "Select a match below"
|
224 |
+
msgstr ""
|
225 |
+
|
226 |
+
#: includes/class-custom-post-types.php:357 includes/class-settings.php:369
|
227 |
+
msgid "View"
|
228 |
+
msgstr ""
|
229 |
+
|
230 |
+
#: includes/class-custom-post-types.php:358 includes/class-settings.php:373
|
231 |
+
msgid "Error"
|
232 |
+
msgstr ""
|
233 |
+
|
234 |
+
#: includes/class-custom-post-types.php:359 includes/class-settings.php:374
|
235 |
+
msgid ""
|
236 |
+
"Invalid request. Be sure to fill out the address field before retrieving "
|
237 |
+
"coordinates."
|
238 |
+
msgstr ""
|
239 |
+
|
240 |
+
#: includes/class-custom-post-types.php:360 includes/class-settings.php:375
|
241 |
+
msgid "Request denied."
|
242 |
+
msgstr ""
|
243 |
+
|
244 |
+
#: includes/class-custom-post-types.php:361 includes/class-settings.php:376
|
245 |
+
msgid "Request denied because you are over your request quota."
|
246 |
+
msgstr ""
|
247 |
+
|
248 |
+
#: includes/class-custom-post-types.php:362
|
249 |
+
msgid "Nothing was found at that address."
|
250 |
+
msgstr ""
|
251 |
+
|
252 |
+
#: includes/class-custom-post-types.php:560
|
253 |
+
msgid "Post Type"
|
254 |
+
msgstr ""
|
255 |
+
|
256 |
+
#: includes/class-custom-post-types.php:561
|
257 |
+
msgid "Post"
|
258 |
+
msgstr ""
|
259 |
+
|
260 |
+
#: includes/class-custom-post-types.php:562
|
261 |
+
msgid "Page"
|
262 |
+
msgstr ""
|
263 |
+
|
264 |
+
#: includes/class-custom-post-types.php:564
|
265 |
+
msgid "Post Category"
|
266 |
+
msgstr ""
|
267 |
+
|
268 |
+
#: includes/class-custom-post-types.php:565
|
269 |
+
msgid "Taxonomy"
|
270 |
+
msgstr ""
|
271 |
+
|
272 |
+
#: includes/class-custom-post-types.php:566
|
273 |
+
msgid "Page Template"
|
274 |
+
msgstr ""
|
275 |
+
|
276 |
+
#: includes/class-custom-post-types.php:567
|
277 |
+
msgid "Global"
|
278 |
+
msgstr ""
|
279 |
+
|
280 |
+
#: includes/class-custom-post-types.php:692
|
281 |
+
#: includes/class-installation-walkthrough.php:29
|
282 |
+
#: includes/class-settings.php:502
|
283 |
+
msgid "Define your weekly opening hours by adding scheduling rules."
|
284 |
+
msgstr ""
|
285 |
+
|
286 |
+
#: includes/class-custom-post-types.php:707
|
287 |
+
#: includes/class-installation-walkthrough.php:44
|
288 |
+
#: includes/class-settings.php:517
|
289 |
+
msgid "Add another opening time"
|
290 |
+
msgstr ""
|
291 |
+
|
292 |
+
#: includes/class-custom-post-types.php:721
|
293 |
+
#: includes/class-custom-post-types.php:770
|
294 |
+
#: includes/class-installation-walkthrough.php:58
|
295 |
+
#: includes/class-settings.php:531 includes/class-settings.php:574
|
296 |
+
msgid "Delete scheduling rule"
|
297 |
+
msgstr ""
|
298 |
+
|
299 |
+
#: includes/class-custom-post-types.php:750 includes/class-settings.php:554
|
300 |
+
msgid ""
|
301 |
+
"Define special opening hours for holidays, events or other needs. Leave the "
|
302 |
+
"time empty if you're closed all day."
|
303 |
+
msgstr ""
|
304 |
+
|
305 |
+
#: includes/class-custom-post-types.php:756 includes/class-settings.php:560
|
306 |
+
msgid "Add another exception"
|
307 |
+
msgstr ""
|
308 |
+
|
309 |
+
#: includes/class-dashboard.php:81
|
310 |
+
#, php-format
|
311 |
+
msgid ""
|
312 |
+
"<a href=\"%s\" target=\"_blank\">Visit our website</a> to learn how to "
|
313 |
+
"upgrade to premium."
|
314 |
+
msgstr ""
|
315 |
+
|
316 |
+
#: includes/class-dashboard.php:141
|
317 |
+
msgid ""
|
318 |
+
"No Locations to display yet. Create a location for it to be displayed here."
|
319 |
+
msgstr ""
|
320 |
+
|
321 |
+
#: includes/class-dashboard.php:237
|
322 |
+
#, php-format
|
323 |
+
msgid ""
|
324 |
+
"<a href=\"%s\" target=\"_blank\">Visit our website</a> to learn how to get a "
|
325 |
+
"free 7-day trial of the premium plugin."
|
326 |
+
msgstr ""
|
327 |
+
|
328 |
+
#: includes/class-deactivation-survey.php:58
|
329 |
+
msgid "Quick Feedback"
|
330 |
+
msgstr ""
|
331 |
+
|
332 |
+
#: includes/class-deactivation-survey.php:59
|
333 |
+
msgid ""
|
334 |
+
"If you have a moment, please share why you are deactivating Five-Star "
|
335 |
+
"Business Profile:"
|
336 |
+
msgstr ""
|
337 |
+
|
338 |
+
#: includes/class-deactivation-survey.php:74
|
339 |
+
msgid "Submit and Deactivate"
|
340 |
+
msgstr ""
|
341 |
+
|
342 |
+
#: includes/class-deactivation-survey.php:75
|
343 |
+
msgid "Skip and Deactivate"
|
344 |
+
msgstr ""
|
345 |
+
|
346 |
+
#: includes/class-installation-walkthrough.php:179
|
347 |
+
msgid "Welcome to the Five Star Business Profile and Schema"
|
348 |
+
msgstr ""
|
349 |
+
|
350 |
+
#: includes/class-installation-walkthrough.php:180
|
351 |
+
msgid ""
|
352 |
+
"Thanks for choosing the Five Star Business Profile and Schema! The following "
|
353 |
+
"will help you get started with the setup of the plugin by creating a contact "
|
354 |
+
"page, menu items and menu page, as well as configuring a few key options."
|
355 |
+
msgstr ""
|
356 |
+
|
357 |
+
#: includes/class-installation-walkthrough.php:185
|
358 |
+
msgid "1. Add a Contact Page"
|
359 |
+
msgstr ""
|
360 |
+
|
361 |
+
#: includes/class-installation-walkthrough.php:187
|
362 |
+
msgid ""
|
363 |
+
"You can create a dedicated contact page below, or skip this step and add "
|
364 |
+
"your contact schema to a page you've already created manually."
|
365 |
+
msgstr ""
|
366 |
+
|
367 |
+
#: includes/class-installation-walkthrough.php:189
|
368 |
+
msgid "Page Title:"
|
369 |
+
msgstr ""
|
370 |
+
|
371 |
+
#: includes/class-installation-walkthrough.php:190
|
372 |
+
msgid "Create Page"
|
373 |
+
msgstr ""
|
374 |
+
|
375 |
+
#: includes/class-installation-walkthrough.php:193
|
376 |
+
#: includes/class-installation-walkthrough.php:230
|
377 |
+
#: includes/class-installation-walkthrough.php:246
|
378 |
+
msgid "Next Step"
|
379 |
+
msgstr ""
|
380 |
+
|
381 |
+
#: includes/class-installation-walkthrough.php:199
|
382 |
+
msgid "2. Set Contact Information"
|
383 |
+
msgstr ""
|
384 |
+
|
385 |
+
#: includes/class-installation-walkthrough.php:201
|
386 |
+
msgid ""
|
387 |
+
"Set the information that will be displayed on your contact page and in the "
|
388 |
+
"contact schema for your business"
|
389 |
+
msgstr ""
|
390 |
+
|
391 |
+
#: includes/class-installation-walkthrough.php:227
|
392 |
+
msgid "Set Contact Information"
|
393 |
+
msgstr ""
|
394 |
+
|
395 |
+
#: includes/class-installation-walkthrough.php:231
|
396 |
+
#: includes/class-installation-walkthrough.php:247
|
397 |
+
#: includes/class-installation-walkthrough.php:260
|
398 |
+
msgid "Previous Step"
|
399 |
+
msgstr ""
|
400 |
+
|
401 |
+
#: includes/class-installation-walkthrough.php:237
|
402 |
+
msgid "3. Set Opening Hours"
|
403 |
+
msgstr ""
|
404 |
+
|
405 |
+
#: includes/class-installation-walkthrough.php:243
|
406 |
+
msgid "Set Hours"
|
407 |
+
msgstr ""
|
408 |
+
|
409 |
+
#: includes/class-installation-walkthrough.php:253
|
410 |
+
msgid "4. Create a Schema"
|
411 |
+
msgstr ""
|
412 |
+
|
413 |
+
#: includes/class-installation-walkthrough.php:255
|
414 |
+
msgid ""
|
415 |
+
"You can create a schema for items such as blog posts, products, FAQs, etc., "
|
416 |
+
"or you can create multiple schema later."
|
417 |
+
msgstr ""
|
418 |
+
|
419 |
+
#: includes/class-installation-walkthrough.php:257
|
420 |
+
msgid "Create a schema now"
|
421 |
+
msgstr ""
|
422 |
+
|
423 |
+
#: includes/class-installation-walkthrough.php:261
|
424 |
+
msgid "Finish"
|
425 |
+
msgstr ""
|
426 |
+
|
427 |
+
#: includes/class-installation-walkthrough.php:267
|
428 |
+
msgid "Skip Setup"
|
429 |
+
msgstr ""
|
430 |
+
|
431 |
+
#: includes/class-review-ask.php:55
|
432 |
+
msgid "Email Address"
|
433 |
+
msgstr ""
|
434 |
+
|
435 |
+
#: includes/class-schema-cpt.php:213
|
436 |
+
msgid " Details"
|
437 |
+
msgstr ""
|
438 |
+
|
439 |
+
#: includes/class-schema-cpt.php:301
|
440 |
+
msgid "Add Another "
|
441 |
+
msgstr ""
|
442 |
+
|
443 |
+
#: includes/class-settings.php:278
|
444 |
+
msgid "Basic"
|
445 |
+
msgstr ""
|
446 |
+
|
447 |
+
#: includes/class-settings.php:287
|
448 |
+
msgid "Search Engine Optimization"
|
449 |
+
msgstr ""
|
450 |
+
|
451 |
+
#: includes/class-settings.php:299
|
452 |
+
msgid ""
|
453 |
+
"Select the option that best describes your business to improve how search "
|
454 |
+
"engines understand your website."
|
455 |
+
msgstr ""
|
456 |
+
|
457 |
+
#: includes/class-settings.php:315
|
458 |
+
msgid "Image"
|
459 |
+
msgstr ""
|
460 |
+
|
461 |
+
#: includes/class-settings.php:316
|
462 |
+
msgid ""
|
463 |
+
"Google requires you provide an image to display with your local business "
|
464 |
+
"search profile."
|
465 |
+
msgstr ""
|
466 |
+
|
467 |
+
#: includes/class-settings.php:318
|
468 |
+
msgid "Add Image"
|
469 |
+
msgstr ""
|
470 |
+
|
471 |
+
#: includes/class-settings.php:319
|
472 |
+
msgid "Change Image"
|
473 |
+
msgstr ""
|
474 |
+
|
475 |
+
#: includes/class-settings.php:320
|
476 |
+
msgid "Remove Image"
|
477 |
+
msgstr ""
|
478 |
+
|
479 |
+
#: includes/class-settings.php:333
|
480 |
+
msgid "Contact Information"
|
481 |
+
msgstr ""
|
482 |
+
|
483 |
+
#: includes/class-settings.php:344
|
484 |
+
msgid "Name"
|
485 |
+
msgstr ""
|
486 |
+
|
487 |
+
#: includes/class-settings.php:345
|
488 |
+
msgid ""
|
489 |
+
"Enter the name of your business if it is different than the website name."
|
490 |
+
msgstr ""
|
491 |
+
|
492 |
+
#: includes/class-settings.php:361
|
493 |
+
msgid "Address"
|
494 |
+
msgstr ""
|
495 |
+
|
496 |
+
#: includes/class-settings.php:370
|
497 |
+
msgid "Retrieve map coordinates"
|
498 |
+
msgstr ""
|
499 |
+
|
500 |
+
#: includes/class-settings.php:371
|
501 |
+
msgid "Remove map coordinates"
|
502 |
+
msgstr ""
|
503 |
+
|
504 |
+
#: includes/class-settings.php:372
|
505 |
+
msgid "Try again?"
|
506 |
+
msgstr ""
|
507 |
+
|
508 |
+
#: includes/class-settings.php:377
|
509 |
+
msgid "Nothing was found at that address"
|
510 |
+
msgstr ""
|
511 |
+
|
512 |
+
#: includes/class-settings.php:392
|
513 |
+
msgid "Google Maps API Key"
|
514 |
+
msgstr ""
|
515 |
+
|
516 |
+
#: includes/class-settings.php:394
|
517 |
+
#, php-format
|
518 |
+
msgid ""
|
519 |
+
"Google requires an API key to use their maps. %sGet an API key%s. A full "
|
520 |
+
"walk-through is available in the %sdocumentation%s."
|
521 |
+
msgstr ""
|
522 |
+
|
523 |
+
#: includes/class-settings.php:413
|
524 |
+
msgid "Phone"
|
525 |
+
msgstr ""
|
526 |
+
|
527 |
+
#: includes/class-settings.php:427
|
528 |
+
msgid "Click-to-Call Phone"
|
529 |
+
msgstr ""
|
530 |
+
|
531 |
+
#: includes/class-settings.php:428
|
532 |
+
msgid ""
|
533 |
+
"Use this field to set a different number for when the phone number is "
|
534 |
+
"clicked in the contact card (e.g. if you'd like it to be just an unformatted "
|
535 |
+
"string of numbers). If left blank, the click-to-call will use the phone "
|
536 |
+
"number provided in the option above."
|
537 |
+
msgstr ""
|
538 |
+
|
539 |
+
#: includes/class-settings.php:442
|
540 |
+
msgid "Contact Page"
|
541 |
+
msgstr ""
|
542 |
+
|
543 |
+
#: includes/class-settings.php:443
|
544 |
+
msgid ""
|
545 |
+
"Select a page on your site where users can reach you, such as a contact form."
|
546 |
+
msgstr ""
|
547 |
+
|
548 |
+
#: includes/class-settings.php:461
|
549 |
+
msgid "Disable Contact Page Card"
|
550 |
+
msgstr ""
|
551 |
+
|
552 |
+
#: includes/class-settings.php:462
|
553 |
+
msgid ""
|
554 |
+
"This disables the contact card from being automatically included on the page "
|
555 |
+
"you set as the contact page in the option above this one."
|
556 |
+
msgstr ""
|
557 |
+
|
558 |
+
#: includes/class-settings.php:477
|
559 |
+
msgid "Email Address (optional)"
|
560 |
+
msgstr ""
|
561 |
+
|
562 |
+
#: includes/class-settings.php:478
|
563 |
+
msgid ""
|
564 |
+
"Enter an email address only if you want to display this publicly. Showing "
|
565 |
+
"your email address on your site may cause you to receive excessive spam."
|
566 |
+
msgstr ""
|
567 |
+
|
568 |
+
#: includes/class-settings.php:490
|
569 |
+
msgid "Schedule"
|
570 |
+
msgstr ""
|
571 |
+
|
572 |
+
#: includes/class-settings.php:591 includes/class-settings.php:602
|
573 |
+
msgid "Multiple Locations"
|
574 |
+
msgstr ""
|
575 |
+
|
576 |
+
#: includes/class-settings.php:603
|
577 |
+
msgid "Enable support for multiple business locations."
|
578 |
+
msgstr ""
|
579 |
+
|
580 |
+
#: includes/class-settings.php:696
|
581 |
+
msgid "Premium"
|
582 |
+
msgstr ""
|
583 |
+
|
584 |
+
#: includes/class-settings.php:706
|
585 |
+
msgid "General"
|
586 |
+
msgstr ""
|
587 |
+
|
588 |
+
#: includes/class-settings.php:719
|
589 |
+
msgid "Post Rich Snippets"
|
590 |
+
msgstr ""
|
591 |
+
|
592 |
+
#: includes/class-settings.php:720
|
593 |
+
msgid ""
|
594 |
+
"Automatically enable article 'Rich Snippets' for Google for all regular "
|
595 |
+
"posts on the site."
|
596 |
+
msgstr ""
|
597 |
+
|
598 |
+
#: includes/class-settings.php:735
|
599 |
+
msgid "Schema Default Helpers"
|
600 |
+
msgstr ""
|
601 |
+
|
602 |
+
#: includes/class-settings.php:736
|
603 |
+
msgid ""
|
604 |
+
"Adds a helper pop-up that can be accessed on click on the Schema edit screen "
|
605 |
+
"that list the available default options, functions and metas"
|
606 |
+
msgstr ""
|
607 |
+
|
608 |
+
#: includes/class-settings.php:750
|
609 |
+
msgid "Plugin Integrations"
|
610 |
+
msgstr ""
|
611 |
+
|
612 |
+
#: includes/class-settings.php:763
|
613 |
+
msgid "WooCommerce Integration"
|
614 |
+
msgstr ""
|
615 |
+
|
616 |
+
#: includes/class-settings.php:764
|
617 |
+
msgid "Automatically enable product 'Rich Snippets' for Google."
|
618 |
+
msgstr ""
|
619 |
+
|
620 |
+
#: includes/template-functions.php:228
|
621 |
+
msgid "Get directions"
|
622 |
+
msgstr ""
|
623 |
+
|
624 |
+
#: includes/template-functions.php:311
|
625 |
+
msgid "Contact"
|
626 |
+
msgstr ""
|
627 |
+
|
628 |
+
#: includes/template-functions.php:414
|
629 |
+
msgid "Monday"
|
630 |
+
msgstr ""
|
631 |
+
|
632 |
+
#: includes/template-functions.php:415
|
633 |
+
msgid "Tuesday"
|
634 |
+
msgstr ""
|
635 |
+
|
636 |
+
#: includes/template-functions.php:416
|
637 |
+
msgid "Wednesday"
|
638 |
+
msgstr ""
|
639 |
+
|
640 |
+
#: includes/template-functions.php:417
|
641 |
+
msgid "Thursday"
|
642 |
+
msgstr ""
|
643 |
+
|
644 |
+
#: includes/template-functions.php:418
|
645 |
+
msgid "Friday"
|
646 |
+
msgstr ""
|
647 |
+
|
648 |
+
#: includes/template-functions.php:419
|
649 |
+
msgid "Saturday"
|
650 |
+
msgstr ""
|
651 |
+
|
652 |
+
#: includes/template-functions.php:420
|
653 |
+
msgid "Sunday"
|
654 |
+
msgstr ""
|
655 |
+
|
656 |
+
#: includes/template-functions.php:432
|
657 |
+
msgid "Open"
|
658 |
+
msgstr ""
|
659 |
+
|
660 |
+
#: includes/template-functions.php:444
|
661 |
+
msgid "Open until "
|
662 |
+
msgstr ""
|
663 |
+
|
664 |
+
#: includes/template-functions.php:446
|
665 |
+
msgid "Open from "
|
666 |
+
msgstr ""
|
667 |
+
|
668 |
+
#: includes/template-functions.php:468 includes/template-functions.php:627
|
669 |
+
msgid "Closed"
|
670 |
+
msgstr ""
|
671 |
+
|
672 |
+
#: includes/template-functions.php:617
|
673 |
+
msgid "Holidays"
|
674 |
+
msgstr ""
|
675 |
+
|
676 |
+
#: includes/template-functions.php:639
|
677 |
+
msgid "Special Opening Hours"
|
678 |
+
msgstr ""
|
679 |
+
|
680 |
+
#: includes/template-functions.php:736
|
681 |
+
msgid "Get Directions"
|
682 |
+
msgstr ""
|
683 |
+
|
684 |
+
#: lib/simple-admin-pages/classes/AdminPage.class.php:173
|
685 |
+
msgid "You do not have sufficient permissions to access this page."
|
686 |
+
msgstr ""
|
687 |
+
|
688 |
+
#: lib/simple-admin-pages/classes/AdminPageSetting.InfiniteTable.class.php:108
|
689 |
+
#: lib/simple-admin-pages/classes/AdminPageSetting.InfiniteTable.class.php:129
|
690 |
+
msgid "Delete"
|
691 |
+
msgstr ""
|
692 |
+
|
693 |
+
#: lib/simple-admin-pages/classes/AdminPageSetting.InfiniteTable.class.php:133
|
694 |
+
msgid "ADD ROW"
|
695 |
+
msgstr ""
|
@@ -23,6 +23,7 @@ Add schema structured data to any page and/or post type on your site. Also easil
|
|
23 |
* Create an SEO-friendly contact card that you can add via Gutenberg block or shortcode
|
24 |
* Easily include a Google map, opening hours and all your business details
|
25 |
* Add multiple locations
|
|
|
26 |
|
27 |
The plugin comes with a database of every organization type schema and every rich results type. With this you can easily create a new schema element and assign a specific structured data type to a page, an individual post, an entire post type, or to your site as a whole.
|
28 |
|
@@ -32,17 +33,19 @@ Whether you're running your website for a local business, a corporation, a resta
|
|
32 |
|
33 |
= Business Profile Contact Card =
|
34 |
|
35 |
-
The Five Star Business Profile and Schema plugin is also perfect for adding your contact details to any page on your site. It comes with a handy form to help you fill in your info, which then gets automatically included on your site both as a contact card and as schema structured data.
|
36 |
|
37 |
<strong>Includes Gutenberg schema block for displaying your contact details!</strong> You can also use the contact shortcode or widget to add in the structured data to your vcard. These allow you to display the following business contact info on any page:
|
38 |
|
39 |
* Business name
|
40 |
* Address
|
41 |
-
* Phone number
|
|
|
42 |
* Contact page link or email address
|
43 |
* Link to Google Map with directions to your establishment
|
44 |
* Google Map showing your location
|
45 |
-
* Opening hours
|
|
|
46 |
|
47 |
For all of this information, the correct schema.org markup is added, in the new JSON-LD format. This helps search engines, like Google, discover your address, phone number and opening hours, so they can display them with your listing on Google.
|
48 |
|
@@ -188,6 +191,17 @@ You'll find more help in the [User Guide](http://doc.themeofthecrop.com/plugins/
|
|
188 |
|
189 |
== Changelog ==
|
190 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
191 |
= 2.0.9 (2020-09-11) =
|
192 |
- Corrects recent issue causing the feedback notice to not dismiss correctly
|
193 |
|
23 |
* Create an SEO-friendly contact card that you can add via Gutenberg block or shortcode
|
24 |
* Easily include a Google map, opening hours and all your business details
|
25 |
* Add multiple locations
|
26 |
+
* Test any page on your site using Google's Rich Results Test
|
27 |
|
28 |
The plugin comes with a database of every organization type schema and every rich results type. With this you can easily create a new schema element and assign a specific structured data type to a page, an individual post, an entire post type, or to your site as a whole.
|
29 |
|
33 |
|
34 |
= Business Profile Contact Card =
|
35 |
|
36 |
+
The Five Star Business Profile and Schema plugin is also perfect for adding your contact details to any page on your site. It comes with a handy form to help you fill in your info, which then gets automatically included on your site both as a contact card and as schema structured data, using the new JSON-LD format.
|
37 |
|
38 |
<strong>Includes Gutenberg schema block for displaying your contact details!</strong> You can also use the contact shortcode or widget to add in the structured data to your vcard. These allow you to display the following business contact info on any page:
|
39 |
|
40 |
* Business name
|
41 |
* Address
|
42 |
+
* Phone number
|
43 |
+
* Separate click-to-call phone number
|
44 |
* Contact page link or email address
|
45 |
* Link to Google Map with directions to your establishment
|
46 |
* Google Map showing your location
|
47 |
+
* Opening hours
|
48 |
+
* Exceptions for opening hours, to specify days that are closed or have different hours (e.g. holidays)
|
49 |
|
50 |
For all of this information, the correct schema.org markup is added, in the new JSON-LD format. This helps search engines, like Google, discover your address, phone number and opening hours, so they can display them with your listing on Google.
|
51 |
|
191 |
|
192 |
== Changelog ==
|
193 |
|
194 |
+
= 2.1.0 (2020-10-13) =
|
195 |
+
- <strong>This is a relatively big update with several new features and corrections, etc., so please take caution and test before updating on a live site (or wait a few days before updating in case some minor corrective updates need to be released).</strong>
|
196 |
+
- Switched the structured data generated by the contact card to the new JSON-LD format.
|
197 |
+
- Added an option for a separate "click to call" phone number, applicable both to the main settings and to specific locations.
|
198 |
+
- Added a fallback functionality, so that, if you do not fill in a specific field (e.g. phone number) for an individual location, it will use what you set in the main settings.
|
199 |
+
- Added an option to turn off the automatic insertion of the contact card on the specified contact page.
|
200 |
+
- Added exceptions, so you now have the ability to have specific days that are either closed or have different hours (e.g. holidays), without having to alter your main schedule. Applicable both in the main settings and for specific locations.
|
201 |
+
- Added a button to the admin bar with a link to test the current page in Google's Rich Results Test.
|
202 |
+
- Added in a German translation that was submitted to us.
|
203 |
+
- Generated a new .pot file.
|
204 |
+
|
205 |
= 2.0.9 (2020-09-11) =
|
206 |
- Corrects recent issue causing the feedback notice to not dismiss correctly
|
207 |
|
@@ -94,10 +94,23 @@
|
|
94 |
* @since 1.1.0
|
95 |
*/
|
96 |
?>
|
97 |
-
|
98 |
-
<address class="bp-contact-card"
|
99 |
<?php if ( bpfwp_setting( 'image', bpfwp_get_display( 'location' ) ) ) : ?>
|
100 |
-
|
101 |
<?php endif; ?>
|
102 |
-
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
</address>
|
|
94 |
* @since 1.1.0
|
95 |
*/
|
96 |
?>
|
97 |
+
<?php $json_ld_data = array( 'type' => bpfwp_setting( 'schema-type', bpfwp_get_display( 'location' ) ) ); ?>
|
98 |
+
<address class="bp-contact-card">
|
99 |
<?php if ( bpfwp_setting( 'image', bpfwp_get_display( 'location' ) ) ) : ?>
|
100 |
+
<?php $json_ld_data['image'] = wp_get_attachment_url( bpfwp_setting( 'image', bpfwp_get_display( 'location' ) ) ); ?>
|
101 |
<?php endif; ?>
|
102 |
+
<?php
|
103 |
+
foreach ( $data as $data => $callback ) {
|
104 |
+
|
105 |
+
$return_array = call_user_func( $callback, bpfwp_get_display( 'location' ) );
|
106 |
+
if ( is_array( $return_array ) ) { $json_ld_data = array_merge( $json_ld_data, $return_array ); }
|
107 |
+
}
|
108 |
+
?>
|
109 |
+
<script type="application/ld+json">
|
110 |
+
{
|
111 |
+
"@context": "https://schema.org/",
|
112 |
+
<?php echo trim( bpfwp_json_ld_contact_print( false, $json_ld_data ), ',' ); ?>
|
113 |
+
}
|
114 |
+
</script>
|
115 |
</address>
|
116 |
+
<?php // "openingHours": ["Mo,Tu,We 9:00-17:00","Th,Fr,Sa 9:00-19:00","Su 12:00-17:00"] ?>
|