rebase on oct-10-2023

This commit is contained in:
Rachit Bhargava
2023-10-10 17:23:21 -04:00
parent d37566ffb6
commit d096058d7d
4789 changed files with 254611 additions and 307223 deletions

View File

@@ -149,7 +149,7 @@ if ( ! class_exists( 'Brainstorm_Update_AIOSRS_Pro' ) ) :
$version = file_get_contents( realpath( plugin_dir_path( BSF_AIOSRS_PRO_FILE ) . '/admin/bsf-core/version.yml' ) );
// Compare versions.
if ( version_compare( $version, $bsf_core_version, '>' ) ) {
if ( version_compare( $version, (string)$bsf_core_version, '>' ) ) {
$bsf_core_version = $version;
$bsf_core_path = $bsf_core_dir;
}

View File

@@ -1,87 +1,87 @@
<?php
/**
* AMP for Schema Pro
*
* @package Schema Pro
*/
/**
* Exit if accessed directly.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* BSF_AIOSRS_Pro_Amp initial setup
*
* @since 1.5.0
*/
/**
* This class initializes Schema for AMP
*
* @class BSF_AIOSRS_Pro_Amp
*/
final class BSF_AIOSRS_Pro_Amp {
/**
* Class instance.
*
* @access private
* @var $instance Class instance.
*/
private static $instance;
/**
* Initiator
*
* @access public
* @var $amp_activated set default to false.
*/
public static $amp_activated = false;
/**
* AMP Options.
*
* @access private
*/
public static function get_instance() {
if ( ! isset( self::$instance ) ) {
self::$instance = new self();
}
return self::$instance;
}
/**
* Constructor function.
*/
public function __construct() {
add_action( 'init', array( $this, 'amp_schema_markup' ) );
}
/**
* Rendering the Schema markup for AMP Template.
*/
public static function amp_schema_markup() {
if ( apply_filters( 'wp_schema_pro_remove_amp_schema_markup', true ) ) {
$settings = BSF_AIOSRS_Pro_Helper::$settings['aiosrs-pro-settings'];
$schema_markup = BSF_AIOSRS_Pro_Markup::get_instance();
if ( isset( $settings['schema-location'] ) ) {
switch ( $settings['schema-location'] ) {
case 'head':
add_action( 'amp_post_template_head', array( $schema_markup, 'schema_markup' ) );
add_action( 'amp_post_template_head', array( $schema_markup, 'global_schemas_markup' ) );
break;
case 'footer':
add_action( 'amp_post_template_footer', array( $schema_markup, 'schema_markup' ) );
add_action( 'amp_post_template_footer', array( $schema_markup, 'global_schemas_markup' ) );
break;
default:
break;
}
}
}
}
}
BSF_AIOSRS_Pro_Amp::get_instance();
<?php
/**
* AMP for Schema Pro
*
* @package Schema Pro
*/
/**
* Exit if accessed directly.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* BSF_AIOSRS_Pro_Amp initial setup
*
* @since 1.5.0
*/
/**
* This class initializes Schema for AMP
*
* @class BSF_AIOSRS_Pro_Amp
*/
final class BSF_AIOSRS_Pro_Amp {
/**
* Class instance.
*
* @access private
* @var $instance Class instance.
*/
private static $instance;
/**
* Initiator
*
* @access public
* @var $amp_activated set default to false.
*/
public static $amp_activated = false;
/**
* AMP Options.
*
* @access private
*/
public static function get_instance() {
if ( ! isset( self::$instance ) ) {
self::$instance = new self();
}
return self::$instance;
}
/**
* Constructor function.
*/
public function __construct() {
add_action( 'init', array( $this, 'amp_schema_markup' ) );
}
/**
* Rendering the Schema markup for AMP Template.
*/
public static function amp_schema_markup() {
if ( apply_filters( 'wp_schema_pro_remove_amp_schema_markup', true ) ) {
$settings = BSF_AIOSRS_Pro_Helper::$settings['aiosrs-pro-settings'];
$schema_markup = BSF_AIOSRS_Pro_Markup::get_instance();
if ( isset( $settings['schema-location'] ) ) {
switch ( $settings['schema-location'] ) {
case 'head':
add_action( 'amp_post_template_head', array( $schema_markup, 'schema_markup' ) );
add_action( 'amp_post_template_head', array( $schema_markup, 'global_schemas_markup' ) );
break;
case 'footer':
add_action( 'amp_post_template_footer', array( $schema_markup, 'schema_markup' ) );
add_action( 'amp_post_template_footer', array( $schema_markup, 'global_schemas_markup' ) );
break;
default:
break;
}
}
}
}
}
BSF_AIOSRS_Pro_Amp::get_instance();

View File

@@ -1,80 +1,80 @@
<?php
/**
* White labeling for Schema Pro
*
* @package Schema Pro
*/
if ( ! class_exists( 'BSF_AIOSRS_Pro_Branding' ) ) {
/**
* BSF_AIOSRS_Pro_Branding initial setup
*
* @since 1.3.0
*/
/**
* This class initializes Schema Branding
*
* @class BSF_AIOSRS_Pro_Branding
*/
final class BSF_AIOSRS_Pro_Branding {
/**
* Function that initializes necessary filters
*
* @return void
*/
public static function init() {
add_filter( 'all_plugins', __CLASS__ . '::plugins_page' );
}
/**
* Branding on the plugins page.
*
* @since 1.3.0
* @param array $plugins An array data for each plugin.
* @return array
*/
public static function plugins_page( $plugins ) {
if ( is_multisite() ) {
$branding = get_site_option( 'wp-schema-pro-branding-settings' );
} else {
$branding = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-branding-settings'];
}
$basename = plugin_basename( BSF_AIOSRS_PRO_DIR . 'wp-schema-pro.php' );
if ( isset( $plugins[ $basename ] ) && is_array( $branding ) ) {
$sp_plugin_name = ( array_key_exists( 'sp_plugin_name', $branding ) ) ? $branding['sp_plugin_name'] : '';
$sp_plugin_desc = ( array_key_exists( 'sp_plugin_desc', $branding ) ) ? $branding['sp_plugin_desc'] : '';
$sp_author_name = ( array_key_exists( 'sp_plugin_author_name', $branding ) ) ? $branding['sp_plugin_author_name'] : '';
$sp_author_url = ( array_key_exists( 'sp_plugin_author_url', $branding ) ) ? $branding['sp_plugin_author_url'] : '';
if ( '' !== $sp_plugin_name ) {
$plugins[ $basename ]['Name'] = $sp_plugin_name;
$plugins[ $basename ]['Title'] = $sp_plugin_name;
}
if ( '' !== $sp_plugin_desc ) {
$plugins[ $basename ]['Description'] = $sp_plugin_desc;
}
if ( '' !== $sp_author_name ) {
$plugins[ $basename ]['Author'] = $sp_author_name;
$plugins[ $basename ]['AuthorName'] = $sp_author_name;
}
if ( '' !== $sp_author_url ) {
$plugins[ $basename ]['AuthorURI'] = $sp_author_url;
$plugins[ $basename ]['PluginURI'] = $sp_author_url;
}
}
return $plugins;
}
}
}
BSF_AIOSRS_Pro_Branding::init();
<?php
/**
* White labeling for Schema Pro
*
* @package Schema Pro
*/
if ( ! class_exists( 'BSF_AIOSRS_Pro_Branding' ) ) {
/**
* BSF_AIOSRS_Pro_Branding initial setup
*
* @since 1.3.0
*/
/**
* This class initializes Schema Branding
*
* @class BSF_AIOSRS_Pro_Branding
*/
final class BSF_AIOSRS_Pro_Branding {
/**
* Function that initializes necessary filters
*
* @return void
*/
public static function init() {
add_filter( 'all_plugins', __CLASS__ . '::plugins_page' );
}
/**
* Branding on the plugins page.
*
* @since 1.3.0
* @param array $plugins An array data for each plugin.
* @return array
*/
public static function plugins_page( $plugins ) {
if ( is_multisite() ) {
$branding = get_site_option( 'wp-schema-pro-branding-settings' );
} else {
$branding = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-branding-settings'];
}
$basename = plugin_basename( BSF_AIOSRS_PRO_DIR . 'wp-schema-pro.php' );
if ( isset( $plugins[ $basename ] ) && is_array( $branding ) ) {
$sp_plugin_name = ( array_key_exists( 'sp_plugin_name', $branding ) ) ? $branding['sp_plugin_name'] : '';
$sp_plugin_desc = ( array_key_exists( 'sp_plugin_desc', $branding ) ) ? $branding['sp_plugin_desc'] : '';
$sp_author_name = ( array_key_exists( 'sp_plugin_author_name', $branding ) ) ? $branding['sp_plugin_author_name'] : '';
$sp_author_url = ( array_key_exists( 'sp_plugin_author_url', $branding ) ) ? $branding['sp_plugin_author_url'] : '';
if ( '' !== $sp_plugin_name ) {
$plugins[ $basename ]['Name'] = $sp_plugin_name;
$plugins[ $basename ]['Title'] = $sp_plugin_name;
}
if ( '' !== $sp_plugin_desc ) {
$plugins[ $basename ]['Description'] = $sp_plugin_desc;
}
if ( '' !== $sp_author_name ) {
$plugins[ $basename ]['Author'] = $sp_author_name;
$plugins[ $basename ]['AuthorName'] = $sp_author_name;
}
if ( '' !== $sp_author_url ) {
$plugins[ $basename ]['AuthorURI'] = $sp_author_url;
$plugins[ $basename ]['PluginURI'] = $sp_author_url;
}
}
return $plugins;
}
}
}
BSF_AIOSRS_Pro_Branding::init();

View File

@@ -141,6 +141,10 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Custom_Fields_Markup' ) ) {
);
$post_id = empty( $args['post_id'] ) ? get_the_ID() : (int) $args['post_id'];
$allowed_post_types = array( 'post', 'page', 'comment', 'term' );
if ( ! in_array( $args['post_type'], $allowed_post_types ) ) {
return 'Invalid post type';
}
$output = get_metadata( $args['post_type'], $post_id, $args['field_key'], true );
if ( empty( $output ) || is_array( $output ) ) {
@@ -1147,7 +1151,7 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Custom_Fields_Markup' ) ) {
$array,
function ( &$value ) {
$value = filter_var( trim( $value ), FILTER_SANITIZE_STRING );
$value = filter_var( trim( $value ), FILTER_DEFAULT );
}
);
@@ -1187,7 +1191,7 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Custom_Fields_Markup' ) ) {
switch ( $sanitize_filter ) {
case 'FILTER_SANITIZE_STRING':
$meta_value = filter_input( INPUT_POST, $data['name'], FILTER_SANITIZE_STRING );
$meta_value = filter_input( INPUT_POST, $data['name'], FILTER_DEFAULT );
break;
case 'FILTER_SANITIZE_URL':
@@ -1209,7 +1213,7 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Custom_Fields_Markup' ) ) {
break;
}
update_post_meta( $post_id, $data['name'] . '-fieldtype', filter_input( INPUT_POST, $data['name'] . '-fieldtype', FILTER_SANITIZE_STRING ) );
update_post_meta( $post_id, $data['name'] . '-fieldtype', filter_input( INPUT_POST, $data['name'] . '-fieldtype', FILTER_DEFAULT ) );
update_post_meta( $post_id, $data['name'], $meta_value );
}
}

View File

@@ -1,191 +1,191 @@
<?php
/**
* Utils.
*
* @package Schema Pro
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
/**
* Class BSF_AIOSRS_Pro_Helper.
*/
class BSF_AIOSRS_Pro_Helper {
/**
* Member Variable
*
* @var instance
*/
private static $instance;
/**
* Member Variable
*
* @var settings
*/
public static $settings;
/**
* Default static array
*
* @var default_options
*/
private static $default_options = array(
// General Settings.
'wp-schema-pro-general-settings' => array(
'organization' => '',
'site-represent' => '',
'site-name' => '',
'person-name' => '',
'site-logo' => 'custom',
'site-logo-custom' => '',
),
// Social Profiles.
'wp-schema-pro-social-profiles' => array(
'facebook' => '',
'twitter' => '',
'google-plus' => '',
'instagram' => '',
'youtube' => '',
'linkedin' => '',
'pinterest' => '',
'soundcloud' => '',
'tumblr' => '',
'wikipedia' => '',
'myspace' => '',
'other' => array(),
),
// Global Schemas.
'wp-schema-pro-global-schemas' => array(
'about-page' => '',
'contact-page' => '',
'site-navigation-element' => '',
'breadcrumb' => '1',
'sitelink-search-box' => '1',
),
// Advanced Settings.
'aiosrs-pro-settings' => array(
'quick-test' => '1',
'menu-position' => 'options-general.php',
'schema-location' => 'head',
'yoast-compatibility' => '1',
'schema-validation' => '',
'default_image' => '',
'delete-schema-data' => '',
),
// Corporate Contact.
'wp-schema-pro-corporate-contact' => array(
'contact-type' => '',
'telephone' => '',
'url' => '',
'email' => '',
'areaServed' => '',
'contact-hear' => '',
'contact-toll' => '',
'availableLanguage' => '',
'cp-schema-type' => '',
'areaserved-type' => '',
'country' => array(),
'place' => '',
'contact-page-id' => '',
'contact-type-other' => '',
),
// Branding Settings.
'wp-schema-pro-branding-settings' => array(
'sp_plugin_name' => '',
'sp_plugin_sname' => '',
'sp_plugin_desc' => '',
'sp_plugin_author_name' => '',
'sp_plugin_author_url' => '',
'sp_hide_label' => 'disabled',
),
'wp-schema-pro-breadcrumb-setting' => array(
'product' => '',
'product_cat' => '',
'product_tag' => '',
'enable_bread' => '1',
),
);
/**
* Initiator
*/
public static function get_instance() {
if ( ! isset( self::$instance ) ) {
self::$instance = new self();
}
return self::$instance;
}
/**
* Constructor
*/
public function __construct() {
self::prepare_schema_pro_options();
}
/**
* Prepare options from database.
*/
public static function prepare_schema_pro_options() {
$options = array_keys( self::$default_options );
foreach ( $options as $option ) {
self::$settings[ $option ] = get_option( $option );
}
}
/**
* Enqueue the scripts at the backend.
*/
public static function bsf_schema_pro_enqueue_admin_script() {
global $pagenow;
return 'post-new.php' === $pagenow || 'post.php' === $pagenow;
}
/**
* Set default options.
*/
public static function bsf_schema_pro_set_default_options() {
foreach ( self::$default_options as $key => $default_option ) {
$settings = get_option( $key );
if ( ! get_option( $key ) ) {
update_option( $key, $default_option );
} else {
foreach ( $default_option as $name => $setting ) {
if ( ! isset( $settings[ $name ] ) ) {
$settings[ $name ] = $default_option[ $name ];
}
}
// Updated settings if new settings added.
update_option( $key, $settings );
}
}
// Delete decrypted cached structured option data.
delete_option( BSF_AIOSRS_PRO_CACHE_KEY );
}
/**
* Return the WP_debug.
*/
public static function bsf_schema_pro_is_wp_debug_enable() {
return true === ( defined( 'WP_DEBUG' ) && WP_DEBUG );
}
}
BSF_AIOSRS_Pro_Helper::get_instance();
<?php
/**
* Utils.
*
* @package Schema Pro
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
/**
* Class BSF_AIOSRS_Pro_Helper.
*/
class BSF_AIOSRS_Pro_Helper {
/**
* Member Variable
*
* @var instance
*/
private static $instance;
/**
* Member Variable
*
* @var settings
*/
public static $settings;
/**
* Default static array
*
* @var default_options
*/
private static $default_options = array(
// General Settings.
'wp-schema-pro-general-settings' => array(
'organization' => '',
'site-represent' => '',
'site-name' => '',
'person-name' => '',
'site-logo' => 'custom',
'site-logo-custom' => '',
),
// Social Profiles.
'wp-schema-pro-social-profiles' => array(
'facebook' => '',
'twitter' => '',
'google-plus' => '',
'instagram' => '',
'youtube' => '',
'linkedin' => '',
'pinterest' => '',
'soundcloud' => '',
'tumblr' => '',
'wikipedia' => '',
'myspace' => '',
'other' => array(),
),
// Global Schemas.
'wp-schema-pro-global-schemas' => array(
'about-page' => '',
'contact-page' => '',
'site-navigation-element' => '',
'breadcrumb' => '1',
'sitelink-search-box' => '1',
),
// Advanced Settings.
'aiosrs-pro-settings' => array(
'quick-test' => '1',
'menu-position' => 'options-general.php',
'schema-location' => 'head',
'yoast-compatibility' => '1',
'schema-validation' => '',
'default_image' => '',
'delete-schema-data' => '',
),
// Corporate Contact.
'wp-schema-pro-corporate-contact' => array(
'contact-type' => '',
'telephone' => '',
'url' => '',
'email' => '',
'areaServed' => '',
'contact-hear' => '',
'contact-toll' => '',
'availableLanguage' => '',
'cp-schema-type' => '',
'areaserved-type' => '',
'country' => array(),
'place' => '',
'contact-page-id' => '',
'contact-type-other' => '',
),
// Branding Settings.
'wp-schema-pro-branding-settings' => array(
'sp_plugin_name' => '',
'sp_plugin_sname' => '',
'sp_plugin_desc' => '',
'sp_plugin_author_name' => '',
'sp_plugin_author_url' => '',
'sp_hide_label' => 'disabled',
),
'wp-schema-pro-breadcrumb-setting' => array(
'product' => '',
'product_cat' => '',
'product_tag' => '',
'enable_bread' => '1',
),
);
/**
* Initiator
*/
public static function get_instance() {
if ( ! isset( self::$instance ) ) {
self::$instance = new self();
}
return self::$instance;
}
/**
* Constructor
*/
public function __construct() {
self::prepare_schema_pro_options();
}
/**
* Prepare options from database.
*/
public static function prepare_schema_pro_options() {
$options = array_keys( self::$default_options );
foreach ( $options as $option ) {
self::$settings[ $option ] = get_option( $option );
}
}
/**
* Enqueue the scripts at the backend.
*/
public static function bsf_schema_pro_enqueue_admin_script() {
global $pagenow;
return 'post-new.php' === $pagenow || 'post.php' === $pagenow;
}
/**
* Set default options.
*/
public static function bsf_schema_pro_set_default_options() {
foreach ( self::$default_options as $key => $default_option ) {
$settings = get_option( $key );
if ( ! get_option( $key ) ) {
update_option( $key, $default_option );
} else {
foreach ( $default_option as $name => $setting ) {
if ( ! isset( $settings[ $name ] ) ) {
$settings[ $name ] = $default_option[ $name ];
}
}
// Updated settings if new settings added.
update_option( $key, $settings );
}
}
// Delete decrypted cached structured option data.
delete_option( BSF_AIOSRS_PRO_CACHE_KEY );
}
/**
* Return the WP_debug.
*/
public static function bsf_schema_pro_is_wp_debug_enable() {
return true === ( defined( 'WP_DEBUG' ) && WP_DEBUG );
}
}
BSF_AIOSRS_Pro_Helper::get_instance();

View File

@@ -1,92 +1,92 @@
<?php
/**
* Schemas Template.
*
* @package Schema Pro
* @since 1.5.0
*/
/**
* Exit if accessed directly.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* This class initializes Schema for AMP
*
* @class BSF_AIOSRS_Pro_Schema_Global_Uninstall
*/
class BSF_AIOSRS_Pro_Schema_Global_Uninstall {
/**
* Class instance.
*
* @access private
* @var $instance Class instance.
*/
private static $instance;
/**
* Constructor function.
*/
public function __construct() {
$this->delete_all_plugin_data();
}
/**
* Initiator
*/
public static function get_instance() {
if ( ! isset( self::$instance ) ) {
self::$instance = new self();
}
return self::$instance;
}
/**
* Delete function.
*/
public function delete_queries() {
global $wpdb;
$delete_keys = BSF_AIOSRS_Pro_Helper::$settings;
$delete_keys_options = array_keys( $delete_keys );
$delete_options_placeholders = implode( ', ', array_fill( 0, count( $delete_keys_options ), '%s' ) );
$wpdb->query( $wpdb->prepare( " DELETE FROM {$wpdb->postmeta} WHERE meta_key LIKE %s", '%' . $wpdb->esc_like( 'bsf-aiosrs-' ) . '%' ) );
$wpdb->query( $wpdb->prepare( " DELETE FROM {$wpdb->posts} WHERE post_type LIKE %s", '%' . $wpdb->esc_like( 'aiosrs-schema' ) . '%' ) );
$query = "DELETE FROM {$wpdb->options} WHERE option_name IN ($delete_options_placeholders)";
// @codingStandardsIgnoreStart
$wpdb->query( $wpdb->prepare( $query, $delete_keys_options ) );
wp_cache_delete($delete_options_placeholders,'options');
// @codingStandardsIgnoreEnd
}
/**
* Delete Schema from single site or multisite.
*/
public function delete_all_plugin_data() {
if ( ! is_multisite() ) {
$option_schema = BSF_AIOSRS_Pro_Helper::$settings['aiosrs-pro-settings'];
$delete_schema = isset( $option_schema['delete-schema-data'] ) ? $option_schema['delete-schema-data'] : '';
if ( '1' === $delete_schema ) {
self::delete_queries();
}
} else {
global $wpdb;
$blog_ids = $wpdb->get_col( "SELECT blog_id FROM $wpdb->blogs" );
$original_blog_id = get_current_blog_id();
$option_schema = BSF_AIOSRS_Pro_Helper::$settings['aiosrs-pro-settings'];
$delete_schema = isset( $option_schema['delete-schema-data'] ) ? $option_schema['delete-schema-data'] : '';
foreach ( $blog_ids as $blog_id ) {
switch_to_blog( $blog_id );
if ( '1' === $delete_schema ) {
self::delete_queries();
}
}
switch_to_blog( $original_blog_id );
}
}
}
BSF_AIOSRS_Pro_Schema_Global_Uninstall::get_instance();
<?php
/**
* Schemas Template.
*
* @package Schema Pro
* @since 1.5.0
*/
/**
* Exit if accessed directly.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* This class initializes Schema for AMP
*
* @class BSF_AIOSRS_Pro_Schema_Global_Uninstall
*/
class BSF_AIOSRS_Pro_Schema_Global_Uninstall {
/**
* Class instance.
*
* @access private
* @var $instance Class instance.
*/
private static $instance;
/**
* Constructor function.
*/
public function __construct() {
$this->delete_all_plugin_data();
}
/**
* Initiator
*/
public static function get_instance() {
if ( ! isset( self::$instance ) ) {
self::$instance = new self();
}
return self::$instance;
}
/**
* Delete function.
*/
public function delete_queries() {
global $wpdb;
$delete_keys = BSF_AIOSRS_Pro_Helper::$settings;
$delete_keys_options = array_keys( $delete_keys );
$delete_options_placeholders = implode( ', ', array_fill( 0, count( $delete_keys_options ), '%s' ) );
$wpdb->query( $wpdb->prepare( " DELETE FROM {$wpdb->postmeta} WHERE meta_key LIKE %s", '%' . $wpdb->esc_like( 'bsf-aiosrs-' ) . '%' ) );
$wpdb->query( $wpdb->prepare( " DELETE FROM {$wpdb->posts} WHERE post_type LIKE %s", '%' . $wpdb->esc_like( 'aiosrs-schema' ) . '%' ) );
$query = "DELETE FROM {$wpdb->options} WHERE option_name IN ($delete_options_placeholders)";
// @codingStandardsIgnoreStart
$wpdb->query( $wpdb->prepare( $query, $delete_keys_options ) );
wp_cache_delete($delete_options_placeholders,'options');
// @codingStandardsIgnoreEnd
}
/**
* Delete Schema from single site or multisite.
*/
public function delete_all_plugin_data() {
if ( ! is_multisite() ) {
$option_schema = BSF_AIOSRS_Pro_Helper::$settings['aiosrs-pro-settings'];
$delete_schema = isset( $option_schema['delete-schema-data'] ) ? $option_schema['delete-schema-data'] : '';
if ( '1' === $delete_schema ) {
self::delete_queries();
}
} else {
global $wpdb;
$blog_ids = $wpdb->get_col( "SELECT blog_id FROM $wpdb->blogs" );
$original_blog_id = get_current_blog_id();
$option_schema = BSF_AIOSRS_Pro_Helper::$settings['aiosrs-pro-settings'];
$delete_schema = isset( $option_schema['delete-schema-data'] ) ? $option_schema['delete-schema-data'] : '';
foreach ( $blog_ids as $blog_id ) {
switch_to_blog( $blog_id );
if ( '1' === $delete_schema ) {
self::delete_queries();
}
}
switch_to_blog( $original_blog_id );
}
}
}
BSF_AIOSRS_Pro_Schema_Global_Uninstall::get_instance();

View File

@@ -1,477 +1,477 @@
<?php
/**
* Schema Pro - Schema Wizard
*
* @package Schema Pro
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Wizard' ) ) :
/**
* BSF_AIOSRS_Pro_Schema_Wizard class.
*/
class BSF_AIOSRS_Pro_Schema_Wizard {
/**
* Hook in tabs.
*/
public function __construct() {
if ( apply_filters( 'wp_schema_pro_enable_setup_wizard', true ) && current_user_can( 'manage_options' ) ) {
add_action( 'admin_menu', array( $this, 'admin_menus' ) );
add_action( 'admin_init', array( $this, 'setup_wizard' ) );
}
}
/**
* Add admin menus/screens.
*/
public function admin_menus() {
add_dashboard_page( '', '', 'manage_options', 'aiosrs-pro-setup', '' );
}
/**
* Show the setup wizard.
*/
public function setup_wizard() {
if ( isset( $_REQUEST['wp_schema_pro_admin_page_nonce'] ) && ! wp_verify_nonce( $_REQUEST['wp_schema_pro_admin_page_nonce'], 'wp_schema_pro_admin_page' ) ) {
return;
}
if ( empty( $_GET['page'] ) || 'aiosrs-pro-setup' !== $_GET['page'] ) {
return;
}
$this->steps = array(
'basic-config' => array(
'name' => __( 'Choose Schema Type', 'wp-schema-pro' ),
'view' => array( $this, 'choose_schema_type' ),
'handler' => array( $this, 'choose_schema_type_save' ),
),
'enable-on' => array(
'name' => __( 'Set Target Pages', 'wp-schema-pro' ),
'view' => array( $this, 'implement_on_callback' ),
'handler' => array( $this, 'implement_on_callback_save' ),
),
'setup-ready' => array(
'name' => __( 'Ready!', 'wp-schema-pro' ),
'view' => array( $this, 'schema_ready' ),
'handler' => '',
),
);
$this->step = isset( $_GET['step'] ) ? sanitize_key( $_GET['step'] ) : current( array_keys( $this->steps ) );
wp_enqueue_style( 'aiosrs-pro-setup', BSF_AIOSRS_PRO_URI . 'admin/assets/' . BSF_AIOSRS_Pro_Admin::$minfy_css . 'setup-wizard.' . BSF_AIOSRS_Pro_Admin::$minfy_css_ext, array( 'dashicons', 'install' ), BSF_AIOSRS_PRO_VER );
wp_enqueue_style( 'aiosrs-pro-admin-edit-style', BSF_AIOSRS_PRO_URI . 'admin/assets/' . BSF_AIOSRS_Pro_Admin::$minfy_css . 'style.' . BSF_AIOSRS_Pro_Admin::$minfy_css_ext, BSF_AIOSRS_PRO_VER, 'false' );
wp_register_script( 'aiosrs-pro-admin-edit-script', BSF_AIOSRS_PRO_URI . 'admin/assets/' . BSF_AIOSRS_Pro_Admin::$minfy_js . 'script.' . BSF_AIOSRS_Pro_Admin::$minfy_js_ext, array( 'jquery', 'jquery-ui-tooltip' ), BSF_AIOSRS_PRO_VER, true );
wp_register_script( 'aiosrs-pro-setup', BSF_AIOSRS_PRO_URI . 'admin/assets/' . BSF_AIOSRS_Pro_Admin::$minfy_js . 'setup-wizard.' . BSF_AIOSRS_Pro_Admin::$minfy_js_ext, array( 'jquery' ), BSF_AIOSRS_PRO_VER, true );
wp_enqueue_style( 'bsf-target-rule-select2', BSF_AIOSRS_PRO_URI . 'classes/lib/target-rule/select2.css', '', BSF_AIOSRS_PRO_VER, false );
wp_enqueue_style( 'bsf-target-rule', BSF_AIOSRS_PRO_URI . 'classes/lib/target-rule/target-rule.css', '', BSF_AIOSRS_PRO_VER, false );
wp_register_script( 'bsf-target-rule-select2', BSF_AIOSRS_PRO_URI . 'classes/lib/target-rule/select2.js', array( 'jquery', 'backbone', 'wp-util' ), BSF_AIOSRS_PRO_VER, true );
wp_register_script( 'bsf-target-rule', BSF_AIOSRS_PRO_URI . 'classes/lib/target-rule/target-rule.js', array( 'jquery', 'bsf-target-rule-select2' ), BSF_AIOSRS_PRO_VER, true );
wp_register_script( 'bsf-user-role', BSF_AIOSRS_PRO_URI . 'classes/lib/target-rule/user-role.js', array( 'jquery' ), BSF_AIOSRS_PRO_VER, true );
wp_enqueue_media();
wp_localize_script(
'bsf-target-rule',
'Targetrule',
array(
'ajax_url' => admin_url( 'admin-ajax.php' ),
'security' => wp_create_nonce( 'schema_nonce' ),
)
);
if ( ( isset( $_POST['_wpnonce'] ) && wp_verify_nonce( $_POST['_wpnonce'], 'aiosrs-pro-setup' ) ) && ! empty( $_POST['save_step'] ) && isset( $this->steps[ $this->step ]['handler'] ) ) {
call_user_func( $this->steps[ $this->step ]['handler'] );
}
ob_start();
$this->setup_wizard_header();
$this->setup_wizard_steps();
$this->setup_wizard_content();
$this->setup_wizard_footer();
exit;
}
/**
* Get next step link
*/
public function get_next_step_link() {
$keys = array_keys( $this->steps );
return add_query_arg( 'step', $keys[ array_search( $this->step, array_keys( $this->steps ), true ) + 1 ] );
}
/**
* Setup Wizard Header.
*/
public function setup_wizard_header() {
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php esc_html_e( 'Schema Setup', 'wp-schema-pro' ); ?></title>
<script type="text/javascript">
addLoadEvent = function(func){if(typeof jQuery!="undefined")jQuery(document).ready(func);else if(typeof wpOnload!='function'){wpOnload=func;}else{var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}};
var ajaxurl = '<?php echo esc_url( admin_url( 'admin-ajax.php', 'relative' ) ); ?>';
</script>
<?php wp_print_scripts( array( 'bsf-target-rule-select2', 'bsf-target-rule', 'bsf-user-role', 'aiosrs-pro-admin-edit-script', 'aiosrs-pro-setup' ) ); ?>
<?php do_action( 'admin_print_styles' ); ?>
</head>
<body class="aiosrs-pro-setup wp-core-ui">
<div id="aiosrs-pro-logo">
<?php
$brand_adv = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-branding-settings'];
if ( '' !== $brand_adv['sp_plugin_name'] ) {
?>
<h2 class="wpsp-setup-pro-title"><?php echo esc_html( $brand_adv['sp_plugin_name'] ); ?></h2>
<?php } else { ?>
<a href="<?php echo esc_url( BSF_AIOSRS_PRO_WEBSITE_URL ); ?>" target="_blank"><img src="<?php echo esc_url( BSF_AIOSRS_PRO_URI . '/admin/assets/images/schema-pro.png' ); ?>" alt="<?php esc_html_e( 'Schema Pro', 'wp-schema-pro' ); ?>" ></a>
<?php } ?>
</div>
<?php
}
/**
* Setup Wizard Footer.
*/
public function setup_wizard_footer() {
$admin_url = BSF_AIOSRS_Pro_Admin::get_page_url( BSF_AIOSRS_Pro_Admin::$parent_page_slug );
?>
<div class="close-button-wrapper">
<a href="<?php echo esc_url( $admin_url ); ?>" class="wizard-close-link" ><?php esc_html_e( 'Exit Setup Wizard', 'wp-schema-pro' ); ?></a>
</div>
</body>
</html>
<?php
}
/**
* Output the steps.
*/
public function setup_wizard_steps() {
$ouput_steps = $this->steps;
?>
<ol class="aiosrs-pro-setup-steps">
<?php
foreach ( $ouput_steps as $step_key => $step ) :
$classes = '';
if ( $step_key === $this->step ) {
$classes = 'active';
} elseif ( array_search( $this->step, array_keys( $this->steps ), true ) > array_search( $step_key, array_keys( $this->steps ), true ) ) {
$classes = 'done';
}
?>
<li class="<?php echo esc_attr( $classes ); ?>">
<span><?php echo esc_html( $step['name'] ); ?></span>
</li>
<?php endforeach; ?>
</ol>
<?php
}
/**
* Output the content for the current step.
*/
public function setup_wizard_content() {
echo '<div class="aiosrs-pro-setup-content">';
call_user_func( $this->steps[ $this->step ]['view'] );
echo '</div>';
}
/**
* Introduction step.
*/
public function choose_schema_type() {
?>
<h1><?php esc_html_e( 'Select the Schema Type:', 'wp-schema-pro' ); ?></h1>
<form method="post">
<input type="hidden" id="bsf-aiosrs-schema-title" name="bsf-aiosrs-schema-title" class="bsf-aiosrs-schema-title" >
<input type="hidden" id="bsf-aiosrs-schema-type" name="bsf-aiosrs-schema-type" class="bsf-aiosrs-schema-type" >
<table class="form-table aiosrs-pro-basic-config">
<tr>
<td><!-- Comment
<?php foreach ( BSF_AIOSRS_Pro_Schema::$schema_meta_fields as $key => $schema_field ) { ?>
--><span class="aiosrs-pro-schema-temp-wrap" data-schema-type="<?php echo esc_attr( $schema_field['key'] ); ?>" data-schema-title="<?php echo isset( $schema_field['label'] ) ? esc_attr( $schema_field['label'] ) : ''; ?>" >
<i class="<?php echo isset( $schema_field['icon'] ) ? esc_attr( $schema_field['icon'] ) : 'dashicons dashicons-media-default'; ?>"></i>
<?php echo isset( $schema_field['label'] ) ? esc_attr( $schema_field['label'] ) : ''; ?>
</span><!-- Comment
<?php } ?>
--></td>
</tr>
</table>
<p class="aiosrs-pro-setup-actions step">
<input type="submit" class="uct-activate button-primary button button-large button-next" disabled="true" value="<?php esc_html_e( 'Next', 'wp-schema-pro' ); ?>" name="save_step" />
<?php wp_nonce_field( 'aiosrs-pro-setup' ); ?>
</p>
</form>
<?php
}
/**
* Save Locale Settings.
*/
public function choose_schema_type_save() {
check_admin_referer( 'aiosrs-pro-setup' );
// Update site title & tagline.
$redirect_url = $this->get_next_step_link();
$title = isset( $_POST['bsf-aiosrs-schema-title'] ) ? sanitize_text_field( $_POST['bsf-aiosrs-schema-title'] ) : 0;
$type = isset( $_POST['bsf-aiosrs-schema-type'] ) ? sanitize_text_field( $_POST['bsf-aiosrs-schema-type'] ) : 0;
$default_fields = array();
if ( isset( BSF_AIOSRS_Pro_Schema::$schema_meta_fields[ 'bsf-aiosrs-' . $type ]['subkeys'] ) ) {
$default_data = BSF_AIOSRS_Pro_Schema::$schema_meta_fields[ 'bsf-aiosrs-' . $type ]['subkeys'];
foreach ( $default_data as $key => $value ) {
if ( 'repeater' === $value['type'] ) {
foreach ( $value['fields'] as $subkey => $subvalue ) {
if ( isset( $subvalue['default'] ) && 'none' !== $subvalue['default'] ) {
$default_fields[ $key ][0][ $subkey ] = $subvalue['default'];
} else {
$default_fields[ $key ][0][ $subkey ] = 'create-field';
}
}
} else {
if ( isset( $value['default'] ) && 'none' !== $value['default'] ) {
$default_fields[ $key ] = $value['default'];
} else {
$default_fields[ $key ] = 'create-field';
}
}
}
}
$postarr = array(
'post_type' => 'aiosrs-schema',
'post_title' => $title,
'post_status' => 'publish',
'meta_input' => array(
'bsf-aiosrs-schema-type' => $type,
'bsf-aiosrs-' . $type => $default_fields,
),
);
$post_id = wp_insert_post( $postarr );
if ( ! is_wp_error( $post_id ) ) {
$redirect_url = add_query_arg( 'schema-id', $post_id, $redirect_url );
}
wp_safe_redirect( esc_url_raw( $redirect_url ) );
exit;
}
/**
* Locale settings
*/
public function implement_on_callback() {
if ( isset( $_REQUEST['wp_schema_pro_admin_page_nonce'] ) && ! wp_verify_nonce( $_REQUEST['wp_schema_pro_admin_page_nonce'], 'wp_schema_pro_admin_page' ) ) {
return;
}
$schema_id = 0;
$title = '';
$redirect_url = $this->get_next_step_link();
if ( isset( $_GET['schema-id'] ) && ! empty( $_GET['schema-id'] ) ) {
$schema_id = intval( $_GET['schema-id'] );
$redirect_url = add_query_arg( 'schema-id', $schema_id, $redirect_url );
$title = get_the_title( $schema_id );
}
$meta_values = array(
'include-locations' => array(
'rule' => array( 'basic-singulars' ),
),
'exclude-locations' => array(),
);
?>
<h1>
<?php
printf(
/* translators: 1 schema title */
wp_kses_post( 'Where %s schema should be integrated?', 'wp-schema-pro' ),
esc_html( $title )
);
?>
</h1>
<form method="post">
<input type="hidden" name="schema-id" value="<?php echo esc_attr( $schema_id ); ?>">
<table class="bsf-aiosrs-schema-table widefat">
<tr class="bsf-aiosrs-schema-row">
<td class="bsf-aiosrs-schema-row-heading">
<label><?php esc_html_e( 'Enable On', 'wp-schema-pro' ); ?></label>
<i class="bsf-aiosrs-schema-heading-help dashicons dashicons-editor-help" title="<?php echo esc_attr__( 'Add target pages where this Schema should appear.', 'wp-schema-pro' ); ?>"></i>
</td>
<td class="bsf-aiosrs-schema-row-content">
<?php
BSF_Target_Rule_Fields::target_rule_settings_field(
'bsf-aiosrs-schema-location',
array(
'title' => __( 'Display Rules', 'wp-schema-pro' ),
'value' => '[{"type":"basic-global","specific":null}]',
'tags' => 'site,enable,target,pages',
'rule_type' => 'display',
'add_rule_label' => __( 'Add “AND” Rule', 'wp-schema-pro' ),
),
$meta_values['include-locations']
);
?>
</td>
</tr>
<tr class="bsf-aiosrs-schema-row">
<td class="bsf-aiosrs-schema-row-heading">
<label><?php esc_html_e( 'Exclude From', 'wp-schema-pro' ); ?></label>
<i class="bsf-aiosrs-schema-heading-help dashicons dashicons-editor-help" title="<?php echo esc_attr__( 'This Schema will not appear at these pages.', 'wp-schema-pro' ); ?>"></i>
</td>
<td class="bsf-aiosrs-schema-row-content">
<?php
BSF_Target_Rule_Fields::target_rule_settings_field(
'bsf-aiosrs-schema-exclusion',
array(
'title' => __( 'Exclude On', 'wp-schema-pro' ),
'value' => '[]',
'tags' => 'site,enable,target,pages',
'add_rule_label' => __( 'Add “OR” Rule', 'wp-schema-pro' ),
'rule_type' => 'exclude',
),
$meta_values['exclude-locations']
);
?>
</td>
</tr>
</table>
<p class="aiosrs-pro-setup-actions step">
<input type="submit" class="button-primary button button-large button-next" value="<?php esc_attr_e( 'Next', 'wp-schema-pro' ); ?>" name="save_step" />
<?php wp_nonce_field( 'aiosrs-pro-setup' ); ?>
</p>
</form>
<?php
}
/**
* Save Locale Settings.
*/
public function implement_on_callback_save() {
check_admin_referer( 'aiosrs-pro-setup' );
$schema_id = isset( $_POST['schema-id'] ) ? sanitize_text_field( $_POST['schema-id'] ) : 0;
$enabled_on = BSF_Target_Rule_Fields::get_format_rule_value( $_POST, 'bsf-aiosrs-schema-location' );
$exclude_from = BSF_Target_Rule_Fields::get_format_rule_value( $_POST, 'bsf-aiosrs-schema-exclusion' );
$redirect_url = $this->get_next_step_link();
if ( $schema_id ) {
$redirect_url = add_query_arg( 'schema-id', $schema_id, $redirect_url );
update_post_meta( $schema_id, 'bsf-aiosrs-schema-location', $enabled_on );
update_post_meta( $schema_id, 'bsf-aiosrs-schema-exclusion', $exclude_from );
}
wp_safe_redirect( esc_url_raw( $redirect_url ) );
exit;
}
/**
* Get Location rules of schema for Custom meta box.
*
* @param array $enabled_on Enabled on rules.
* @param array $exclude_from Exlcude on rules.
* @return array
*/
public static function get_display_rules_for_meta_box( $enabled_on, $exclude_from ) {
$locations = array();
$enabled_location = array();
$exclude_location = array();
$args = array(
'public' => true,
'_builtin' => true,
);
$post_types = get_post_types( $args );
unset( $post_types['attachment'] );
$args['_builtin'] = false;
$custom_post_type = get_post_types( $args );
$post_types = array_merge( $post_types, $custom_post_type );
if ( ! empty( $enabled_on ) && isset( $enabled_on['rule'] ) ) {
$enabled_location = $enabled_on['rule'];
}
if ( ! empty( $exclude_from ) && isset( $exclude_from['rule'] ) ) {
$exclude_location = $exclude_from['rule'];
}
if ( in_array( 'specifics', $enabled_location, true ) || ( in_array( 'basic-singulars', $enabled_location, true ) && ! in_array( 'basic-singulars', $exclude_location, true ) ) ) {
foreach ( $post_types as $post_type ) {
$locations[ $post_type ] = 1;
}
} else {
foreach ( $post_types as $post_type ) {
$key = $post_type . '|all';
if ( in_array( $key, $enabled_location, true ) && ! in_array( $key, $exclude_location, true ) ) {
$locations[ $post_type ] = 1;
}
}
}
return $locations;
}
/**
* Final step.
*/
public function schema_ready() {
if ( isset( $_REQUEST['wp_schema_pro_admin_page_nonce'] ) && ! wp_verify_nonce( $_REQUEST['wp_schema_pro_admin_page_nonce'], 'wp_schema_pro_admin_page' ) ) {
return;
}
$schema_id = 0;
$title = '';
if ( isset( $_GET['schema-id'] ) && ! empty( $_GET['schema-id'] ) ) {
$schema_id = intval( $_GET['schema-id'] );
$title = get_the_title( $schema_id );
}
?>
<h1><?php esc_html_e( 'Your Schema is Ready!', 'wp-schema-pro' ); ?></h1>
<div class="aiosrs-pro-setup-next-steps">
<div class="aiosrs-pro-setup-next-steps-last">
<p class="success">
<?php
printf(
/* translators: 1 schema title */
wp_kses_post( 'Congratulations! The <i>%s</i> Schema has been added and enabled on selected target locations.', 'wp-schema-pro' ),
esc_html( $title )
);
?>
</p>
<p class="success">
<strong><?php esc_html_e( 'Heres what to do next:', 'wp-schema-pro' ); ?></strong><br>
<?php esc_html_e( 'Step 1: Complete the setup and proceed to fill the required properties of this schema.', 'wp-schema-pro' ); ?><br>
<?php esc_html_e( 'Step 2: Add necessary Schema information on individual pages and posts.', 'wp-schema-pro' ); ?><br>
<?php esc_html_e( 'Step 3: Test if Schema is integrated correctly.', 'wp-schema-pro' ); ?>
</p>
<table class="form-table aiosrs-pro-schema-ready">
<tr>
<td>
<a href="<?php echo ( $schema_id ) ? esc_attr( get_edit_post_link( $schema_id ) ) : '#'; ?>" type="button" class="button button-primary button-hero" ><?php esc_html_e( 'Complete Setup', 'wp-schema-pro' ); ?></a>
</td>
</tr>
</table>
</div>
</div>
<?php
}
}
new BSF_AIOSRS_Pro_Schema_Wizard();
endif;
<?php
/**
* Schema Pro - Schema Wizard
*
* @package Schema Pro
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Wizard' ) ) :
/**
* BSF_AIOSRS_Pro_Schema_Wizard class.
*/
class BSF_AIOSRS_Pro_Schema_Wizard {
/**
* Hook in tabs.
*/
public function __construct() {
if ( apply_filters( 'wp_schema_pro_enable_setup_wizard', true ) && current_user_can( 'manage_options' ) ) {
add_action( 'admin_menu', array( $this, 'admin_menus' ) );
add_action( 'admin_init', array( $this, 'setup_wizard' ) );
}
}
/**
* Add admin menus/screens.
*/
public function admin_menus() {
add_dashboard_page( '', '', 'manage_options', 'aiosrs-pro-setup', '' );
}
/**
* Show the setup wizard.
*/
public function setup_wizard() {
if ( isset( $_REQUEST['wp_schema_pro_admin_page_nonce'] ) && ! wp_verify_nonce( $_REQUEST['wp_schema_pro_admin_page_nonce'], 'wp_schema_pro_admin_page' ) ) {
return;
}
if ( empty( $_GET['page'] ) || 'aiosrs-pro-setup' !== $_GET['page'] ) {
return;
}
$this->steps = array(
'basic-config' => array(
'name' => __( 'Choose Schema Type', 'wp-schema-pro' ),
'view' => array( $this, 'choose_schema_type' ),
'handler' => array( $this, 'choose_schema_type_save' ),
),
'enable-on' => array(
'name' => __( 'Set Target Pages', 'wp-schema-pro' ),
'view' => array( $this, 'implement_on_callback' ),
'handler' => array( $this, 'implement_on_callback_save' ),
),
'setup-ready' => array(
'name' => __( 'Ready!', 'wp-schema-pro' ),
'view' => array( $this, 'schema_ready' ),
'handler' => '',
),
);
$this->step = isset( $_GET['step'] ) ? sanitize_key( $_GET['step'] ) : current( array_keys( $this->steps ) );
wp_enqueue_style( 'aiosrs-pro-setup', BSF_AIOSRS_PRO_URI . 'admin/assets/' . BSF_AIOSRS_Pro_Admin::$minfy_css . 'setup-wizard.' . BSF_AIOSRS_Pro_Admin::$minfy_css_ext, array( 'dashicons', 'install' ), BSF_AIOSRS_PRO_VER );
wp_enqueue_style( 'aiosrs-pro-admin-edit-style', BSF_AIOSRS_PRO_URI . 'admin/assets/' . BSF_AIOSRS_Pro_Admin::$minfy_css . 'style.' . BSF_AIOSRS_Pro_Admin::$minfy_css_ext, BSF_AIOSRS_PRO_VER, 'false' );
wp_register_script( 'aiosrs-pro-admin-edit-script', BSF_AIOSRS_PRO_URI . 'admin/assets/' . BSF_AIOSRS_Pro_Admin::$minfy_js . 'script.' . BSF_AIOSRS_Pro_Admin::$minfy_js_ext, array( 'jquery', 'jquery-ui-tooltip' ), BSF_AIOSRS_PRO_VER, true );
wp_register_script( 'aiosrs-pro-setup', BSF_AIOSRS_PRO_URI . 'admin/assets/' . BSF_AIOSRS_Pro_Admin::$minfy_js . 'setup-wizard.' . BSF_AIOSRS_Pro_Admin::$minfy_js_ext, array( 'jquery' ), BSF_AIOSRS_PRO_VER, true );
wp_enqueue_style( 'bsf-target-rule-select2', BSF_AIOSRS_PRO_URI . 'classes/lib/target-rule/select2.css', '', BSF_AIOSRS_PRO_VER, false );
wp_enqueue_style( 'bsf-target-rule', BSF_AIOSRS_PRO_URI . 'classes/lib/target-rule/target-rule.css', '', BSF_AIOSRS_PRO_VER, false );
wp_register_script( 'bsf-target-rule-select2', BSF_AIOSRS_PRO_URI . 'classes/lib/target-rule/select2.js', array( 'jquery', 'backbone', 'wp-util' ), BSF_AIOSRS_PRO_VER, true );
wp_register_script( 'bsf-target-rule', BSF_AIOSRS_PRO_URI . 'classes/lib/target-rule/target-rule.js', array( 'jquery', 'bsf-target-rule-select2' ), BSF_AIOSRS_PRO_VER, true );
wp_register_script( 'bsf-user-role', BSF_AIOSRS_PRO_URI . 'classes/lib/target-rule/user-role.js', array( 'jquery' ), BSF_AIOSRS_PRO_VER, true );
wp_enqueue_media();
wp_localize_script(
'bsf-target-rule',
'Targetrule',
array(
'ajax_url' => admin_url( 'admin-ajax.php' ),
'security' => wp_create_nonce( 'schema_nonce' ),
)
);
if ( ( isset( $_POST['_wpnonce'] ) && wp_verify_nonce( $_POST['_wpnonce'], 'aiosrs-pro-setup' ) ) && ! empty( $_POST['save_step'] ) && isset( $this->steps[ $this->step ]['handler'] ) ) {
call_user_func( $this->steps[ $this->step ]['handler'] );
}
ob_start();
$this->setup_wizard_header();
$this->setup_wizard_steps();
$this->setup_wizard_content();
$this->setup_wizard_footer();
exit;
}
/**
* Get next step link
*/
public function get_next_step_link() {
$keys = array_keys( $this->steps );
return add_query_arg( 'step', $keys[ array_search( $this->step, array_keys( $this->steps ), true ) + 1 ] );
}
/**
* Setup Wizard Header.
*/
public function setup_wizard_header() {
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php esc_html_e( 'Schema Setup', 'wp-schema-pro' ); ?></title>
<script type="text/javascript">
addLoadEvent = function(func){if(typeof jQuery!="undefined")jQuery(document).ready(func);else if(typeof wpOnload!='function'){wpOnload=func;}else{var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}};
var ajaxurl = '<?php echo esc_url( admin_url( 'admin-ajax.php', 'relative' ) ); ?>';
</script>
<?php wp_print_scripts( array( 'bsf-target-rule-select2', 'bsf-target-rule', 'bsf-user-role', 'aiosrs-pro-admin-edit-script', 'aiosrs-pro-setup' ) ); ?>
<?php do_action( 'admin_print_styles' ); ?>
</head>
<body class="aiosrs-pro-setup wp-core-ui">
<div id="aiosrs-pro-logo">
<?php
$brand_adv = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-branding-settings'];
if ( '' !== $brand_adv['sp_plugin_name'] ) {
?>
<h2 class="wpsp-setup-pro-title"><?php echo esc_html( $brand_adv['sp_plugin_name'] ); ?></h2>
<?php } else { ?>
<a href="<?php echo esc_url( BSF_AIOSRS_PRO_WEBSITE_URL ); ?>" target="_blank"><img src="<?php echo esc_url( BSF_AIOSRS_PRO_URI . '/admin/assets/images/schema-pro.png' ); ?>" alt="<?php esc_html_e( 'Schema Pro', 'wp-schema-pro' ); ?>" ></a>
<?php } ?>
</div>
<?php
}
/**
* Setup Wizard Footer.
*/
public function setup_wizard_footer() {
$admin_url = BSF_AIOSRS_Pro_Admin::get_page_url( BSF_AIOSRS_Pro_Admin::$parent_page_slug );
?>
<div class="close-button-wrapper">
<a href="<?php echo esc_url( $admin_url ); ?>" class="wizard-close-link" ><?php esc_html_e( 'Exit Setup Wizard', 'wp-schema-pro' ); ?></a>
</div>
</body>
</html>
<?php
}
/**
* Output the steps.
*/
public function setup_wizard_steps() {
$ouput_steps = $this->steps;
?>
<ol class="aiosrs-pro-setup-steps">
<?php
foreach ( $ouput_steps as $step_key => $step ) :
$classes = '';
if ( $step_key === $this->step ) {
$classes = 'active';
} elseif ( array_search( $this->step, array_keys( $this->steps ), true ) > array_search( $step_key, array_keys( $this->steps ), true ) ) {
$classes = 'done';
}
?>
<li class="<?php echo esc_attr( $classes ); ?>">
<span><?php echo esc_html( $step['name'] ); ?></span>
</li>
<?php endforeach; ?>
</ol>
<?php
}
/**
* Output the content for the current step.
*/
public function setup_wizard_content() {
echo '<div class="aiosrs-pro-setup-content">';
call_user_func( $this->steps[ $this->step ]['view'] );
echo '</div>';
}
/**
* Introduction step.
*/
public function choose_schema_type() {
?>
<h1><?php esc_html_e( 'Select the Schema Type:', 'wp-schema-pro' ); ?></h1>
<form method="post">
<input type="hidden" id="bsf-aiosrs-schema-title" name="bsf-aiosrs-schema-title" class="bsf-aiosrs-schema-title" >
<input type="hidden" id="bsf-aiosrs-schema-type" name="bsf-aiosrs-schema-type" class="bsf-aiosrs-schema-type" >
<table class="form-table aiosrs-pro-basic-config">
<tr>
<td><!-- Comment
<?php foreach ( BSF_AIOSRS_Pro_Schema::$schema_meta_fields as $key => $schema_field ) { ?>
--><span class="aiosrs-pro-schema-temp-wrap" data-schema-type="<?php echo esc_attr( $schema_field['key'] ); ?>" data-schema-title="<?php echo isset( $schema_field['label'] ) ? esc_attr( $schema_field['label'] ) : ''; ?>" >
<i class="<?php echo isset( $schema_field['icon'] ) ? esc_attr( $schema_field['icon'] ) : 'dashicons dashicons-media-default'; ?>"></i>
<?php echo isset( $schema_field['label'] ) ? esc_attr( $schema_field['label'] ) : ''; ?>
</span><!-- Comment
<?php } ?>
--></td>
</tr>
</table>
<p class="aiosrs-pro-setup-actions step">
<input type="submit" class="uct-activate button-primary button button-large button-next" disabled="true" value="<?php esc_html_e( 'Next', 'wp-schema-pro' ); ?>" name="save_step" />
<?php wp_nonce_field( 'aiosrs-pro-setup' ); ?>
</p>
</form>
<?php
}
/**
* Save Locale Settings.
*/
public function choose_schema_type_save() {
check_admin_referer( 'aiosrs-pro-setup' );
// Update site title & tagline.
$redirect_url = $this->get_next_step_link();
$title = isset( $_POST['bsf-aiosrs-schema-title'] ) ? sanitize_text_field( $_POST['bsf-aiosrs-schema-title'] ) : 0;
$type = isset( $_POST['bsf-aiosrs-schema-type'] ) ? sanitize_text_field( $_POST['bsf-aiosrs-schema-type'] ) : 0;
$default_fields = array();
if ( isset( BSF_AIOSRS_Pro_Schema::$schema_meta_fields[ 'bsf-aiosrs-' . $type ]['subkeys'] ) ) {
$default_data = BSF_AIOSRS_Pro_Schema::$schema_meta_fields[ 'bsf-aiosrs-' . $type ]['subkeys'];
foreach ( $default_data as $key => $value ) {
if ( 'repeater' === $value['type'] ) {
foreach ( $value['fields'] as $subkey => $subvalue ) {
if ( isset( $subvalue['default'] ) && 'none' !== $subvalue['default'] ) {
$default_fields[ $key ][0][ $subkey ] = $subvalue['default'];
} else {
$default_fields[ $key ][0][ $subkey ] = 'create-field';
}
}
} else {
if ( isset( $value['default'] ) && 'none' !== $value['default'] ) {
$default_fields[ $key ] = $value['default'];
} else {
$default_fields[ $key ] = 'create-field';
}
}
}
}
$postarr = array(
'post_type' => 'aiosrs-schema',
'post_title' => $title,
'post_status' => 'publish',
'meta_input' => array(
'bsf-aiosrs-schema-type' => $type,
'bsf-aiosrs-' . $type => $default_fields,
),
);
$post_id = wp_insert_post( $postarr );
if ( ! is_wp_error( $post_id ) ) {
$redirect_url = add_query_arg( 'schema-id', $post_id, $redirect_url );
}
wp_safe_redirect( esc_url_raw( $redirect_url ) );
exit;
}
/**
* Locale settings
*/
public function implement_on_callback() {
if ( isset( $_REQUEST['wp_schema_pro_admin_page_nonce'] ) && ! wp_verify_nonce( $_REQUEST['wp_schema_pro_admin_page_nonce'], 'wp_schema_pro_admin_page' ) ) {
return;
}
$schema_id = 0;
$title = '';
$redirect_url = $this->get_next_step_link();
if ( isset( $_GET['schema-id'] ) && ! empty( $_GET['schema-id'] ) ) {
$schema_id = intval( $_GET['schema-id'] );
$redirect_url = add_query_arg( 'schema-id', $schema_id, $redirect_url );
$title = get_the_title( $schema_id );
}
$meta_values = array(
'include-locations' => array(
'rule' => array( 'basic-singulars' ),
),
'exclude-locations' => array(),
);
?>
<h1>
<?php
printf(
/* translators: 1 schema title */
wp_kses_post( 'Where %s schema should be integrated?', 'wp-schema-pro' ),
esc_html( $title )
);
?>
</h1>
<form method="post">
<input type="hidden" name="schema-id" value="<?php echo esc_attr( $schema_id ); ?>">
<table class="bsf-aiosrs-schema-table widefat">
<tr class="bsf-aiosrs-schema-row">
<td class="bsf-aiosrs-schema-row-heading">
<label><?php esc_html_e( 'Enable On', 'wp-schema-pro' ); ?></label>
<i class="bsf-aiosrs-schema-heading-help dashicons dashicons-editor-help" title="<?php echo esc_attr__( 'Add target pages where this Schema should appear.', 'wp-schema-pro' ); ?>"></i>
</td>
<td class="bsf-aiosrs-schema-row-content">
<?php
BSF_Target_Rule_Fields::target_rule_settings_field(
'bsf-aiosrs-schema-location',
array(
'title' => __( 'Display Rules', 'wp-schema-pro' ),
'value' => '[{"type":"basic-global","specific":null}]',
'tags' => 'site,enable,target,pages',
'rule_type' => 'display',
'add_rule_label' => __( 'Add “AND” Rule', 'wp-schema-pro' ),
),
$meta_values['include-locations']
);
?>
</td>
</tr>
<tr class="bsf-aiosrs-schema-row">
<td class="bsf-aiosrs-schema-row-heading">
<label><?php esc_html_e( 'Exclude From', 'wp-schema-pro' ); ?></label>
<i class="bsf-aiosrs-schema-heading-help dashicons dashicons-editor-help" title="<?php echo esc_attr__( 'This Schema will not appear at these pages.', 'wp-schema-pro' ); ?>"></i>
</td>
<td class="bsf-aiosrs-schema-row-content">
<?php
BSF_Target_Rule_Fields::target_rule_settings_field(
'bsf-aiosrs-schema-exclusion',
array(
'title' => __( 'Exclude On', 'wp-schema-pro' ),
'value' => '[]',
'tags' => 'site,enable,target,pages',
'add_rule_label' => __( 'Add “OR” Rule', 'wp-schema-pro' ),
'rule_type' => 'exclude',
),
$meta_values['exclude-locations']
);
?>
</td>
</tr>
</table>
<p class="aiosrs-pro-setup-actions step">
<input type="submit" class="button-primary button button-large button-next" value="<?php esc_attr_e( 'Next', 'wp-schema-pro' ); ?>" name="save_step" />
<?php wp_nonce_field( 'aiosrs-pro-setup' ); ?>
</p>
</form>
<?php
}
/**
* Save Locale Settings.
*/
public function implement_on_callback_save() {
check_admin_referer( 'aiosrs-pro-setup' );
$schema_id = isset( $_POST['schema-id'] ) ? sanitize_text_field( $_POST['schema-id'] ) : 0;
$enabled_on = BSF_Target_Rule_Fields::get_format_rule_value( $_POST, 'bsf-aiosrs-schema-location' );
$exclude_from = BSF_Target_Rule_Fields::get_format_rule_value( $_POST, 'bsf-aiosrs-schema-exclusion' );
$redirect_url = $this->get_next_step_link();
if ( $schema_id ) {
$redirect_url = add_query_arg( 'schema-id', $schema_id, $redirect_url );
update_post_meta( $schema_id, 'bsf-aiosrs-schema-location', $enabled_on );
update_post_meta( $schema_id, 'bsf-aiosrs-schema-exclusion', $exclude_from );
}
wp_safe_redirect( esc_url_raw( $redirect_url ) );
exit;
}
/**
* Get Location rules of schema for Custom meta box.
*
* @param array $enabled_on Enabled on rules.
* @param array $exclude_from Exlcude on rules.
* @return array
*/
public static function get_display_rules_for_meta_box( $enabled_on, $exclude_from ) {
$locations = array();
$enabled_location = array();
$exclude_location = array();
$args = array(
'public' => true,
'_builtin' => true,
);
$post_types = get_post_types( $args );
unset( $post_types['attachment'] );
$args['_builtin'] = false;
$custom_post_type = get_post_types( $args );
$post_types = array_merge( $post_types, $custom_post_type );
if ( ! empty( $enabled_on ) && isset( $enabled_on['rule'] ) ) {
$enabled_location = $enabled_on['rule'];
}
if ( ! empty( $exclude_from ) && isset( $exclude_from['rule'] ) ) {
$exclude_location = $exclude_from['rule'];
}
if ( in_array( 'specifics', $enabled_location, true ) || ( in_array( 'basic-singulars', $enabled_location, true ) && ! in_array( 'basic-singulars', $exclude_location, true ) ) ) {
foreach ( $post_types as $post_type ) {
$locations[ $post_type ] = 1;
}
} else {
foreach ( $post_types as $post_type ) {
$key = $post_type . '|all';
if ( in_array( $key, $enabled_location, true ) && ! in_array( $key, $exclude_location, true ) ) {
$locations[ $post_type ] = 1;
}
}
}
return $locations;
}
/**
* Final step.
*/
public function schema_ready() {
if ( isset( $_REQUEST['wp_schema_pro_admin_page_nonce'] ) && ! wp_verify_nonce( $_REQUEST['wp_schema_pro_admin_page_nonce'], 'wp_schema_pro_admin_page' ) ) {
return;
}
$schema_id = 0;
$title = '';
if ( isset( $_GET['schema-id'] ) && ! empty( $_GET['schema-id'] ) ) {
$schema_id = intval( $_GET['schema-id'] );
$title = get_the_title( $schema_id );
}
?>
<h1><?php esc_html_e( 'Your Schema is Ready!', 'wp-schema-pro' ); ?></h1>
<div class="aiosrs-pro-setup-next-steps">
<div class="aiosrs-pro-setup-next-steps-last">
<p class="success">
<?php
printf(
/* translators: 1 schema title */
wp_kses_post( 'Congratulations! The <i>%s</i> Schema has been added and enabled on selected target locations.', 'wp-schema-pro' ),
esc_html( $title )
);
?>
</p>
<p class="success">
<strong><?php esc_html_e( 'Heres what to do next:', 'wp-schema-pro' ); ?></strong><br>
<?php esc_html_e( 'Step 1: Complete the setup and proceed to fill the required properties of this schema.', 'wp-schema-pro' ); ?><br>
<?php esc_html_e( 'Step 2: Add necessary Schema information on individual pages and posts.', 'wp-schema-pro' ); ?><br>
<?php esc_html_e( 'Step 3: Test if Schema is integrated correctly.', 'wp-schema-pro' ); ?>
</p>
<table class="form-table aiosrs-pro-schema-ready">
<tr>
<td>
<a href="<?php echo ( $schema_id ) ? esc_attr( get_edit_post_link( $schema_id ) ) : '#'; ?>" type="button" class="button button-primary button-hero" ><?php esc_html_e( 'Complete Setup', 'wp-schema-pro' ); ?></a>
</td>
</tr>
</table>
</div>
</div>
<?php
}
}
new BSF_AIOSRS_Pro_Schema_Wizard();
endif;

View File

@@ -156,7 +156,7 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema' ) ) {
check_ajax_referer( 'schema_nonce', 'nonce' );
$item_type = filter_input( INPUT_POST, 'itemType', FILTER_SANITIZE_STRING );
$item_type = sanitize_text_field( $_POST['itemType'] );
$post_id = filter_input( INPUT_POST, 'post_id', FILTER_VALIDATE_INT );
$item_type_fields = self::$schema_item_types[ $item_type ]['subkeys'];
@@ -4497,7 +4497,7 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema' ) ) {
switch ( $sanitize_filter ) {
case 'FILTER_SANITIZE_STRING':
$meta_value = filter_input( INPUT_POST, $key, FILTER_SANITIZE_STRING );
$meta_value = sanitize_text_field( $_POST[ $key ] );
break;
case 'FILTER_SANITIZE_URL':

View File

@@ -1,130 +1,130 @@
<?php
/**
* Schema Pro Init
*
* @package Schema Pro
*/
define( 'BSF_REMOVE_WP-SCHEMA-PRO_FROM_REGISTRATION_LISTING', true );
if ( ! class_exists( 'BSF_AIOSRS_Pro' ) ) {
/**
* BSF_AIOSRS_Pro initial setup
*
* @since 1.0.0
*/
class BSF_AIOSRS_Pro {
/**
* Class instance.
*
* @access private
* @var $instance Class instance.
*/
private static $instance;
/**
* Initiator
*/
public static function get_instance() {
if ( ! isset( self::$instance ) ) {
self::$instance = new self();
}
return self::$instance;
}
/**
* Constructor
*/
public function __construct() {
// Includes Required Files.
$this->includes();
add_action( 'admin_notices', array( $this, 'setup_wizard_notice' ) );
add_action( 'wp_ajax_wp_schema_pro_setup_wizard_notice', array( $this, 'wp_schema_pro_setup_wizard_notice_callback' ) );
}
/**
* Setup Wizard
*
* @since 1.1.0
*/
public function setup_wizard_notice() {
if ( get_transient( 'wp-schema-pro-activated' ) ) {
$url = admin_url( 'index.php?page=aiosrs-pro-setup-wizard' );
$branding_notice = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-branding-settings'];
echo '<div class="wp-schema-pro-setup-wizard-notice notice notice-success is-dismissible">';
if ( '' !== $branding_notice['sp_plugin_name'] ) {
/* translators: %s: search term */
$brand_notice = sprintf( esc_html__( 'Configure %s step by step. ', 'wp-schema-pro' ), $branding_notice['sp_plugin_name'] );
echo '<p>' . esc_html( $brand_notice ) . '<a href="' . esc_url( $url ) . '">' . esc_html__( 'Start Setup Wizard &raquo;', 'wp-schema-pro' ) . '</a></p>';
} else {
echo '<p>' . esc_html__( 'Not sure where to start with Schema Pro? Check out our initial ', 'wp-schema-pro' ) . '<a href="' . esc_url( $url ) . '">' . esc_html__( 'setup wizard first &raquo;', 'wp-schema-pro' ) . '</a></p>';
}
echo '</div>';
?>
<script type="text/javascript">
(function($){
$(document).on('click', '.wp-schema-pro-setup-wizard-notice .notice-dismiss', function(){
$.ajax({
url: ajaxurl,
type: 'POST',
data: {
action : 'wp_schema_pro_setup_wizard_notice',
nonce : '<?php echo esc_attr( wp_create_nonce( 'wp-schema-pro-setup-wizard-notice' ) ); ?>'
},
});
});
})(jQuery);
</script>
<?php
}
}
/**
* Dismiss Notice
*
* @return void
*/
public function wp_schema_pro_setup_wizard_notice_callback() {
check_ajax_referer( 'wp-schema-pro-setup-wizard-notice', 'nonce' );
delete_transient( 'wp-schema-pro-activated' );
wp_send_json_success();
}
/**
* Include required files.
*
* @since 1.0.0
* @return void
*/
public function includes() {
require_once BSF_AIOSRS_PRO_DIR . 'classes/lib/target-rule/class-bsf-target-rule-fields.php';
require_once BSF_AIOSRS_PRO_DIR . 'classes/lib/class-bsf-custom-post-list-table.php';
require_once BSF_AIOSRS_PRO_DIR . 'classes/class-wp-schema-pro-yoast-compatibility.php';
require_once BSF_AIOSRS_PRO_DIR . 'classes/class-bsf-aiosrs-pro-admin.php';
require_once BSF_AIOSRS_PRO_DIR . 'classes/class-bsf-aiosrs-pro-schema.php';
require_once BSF_AIOSRS_PRO_DIR . 'classes/class-bsf-aiosrs-pro-custom-fields-markup.php';
require_once BSF_AIOSRS_PRO_DIR . 'classes/class-bsf-aiosrs-pro-branding.php';
require_once BSF_AIOSRS_PRO_DIR . 'classes/class-bsf-aiosrs-pro-amp.php';
/**
* Frontend.
*/
require_once BSF_AIOSRS_PRO_DIR . 'classes/class-bsf-aiosrs-pro-schema-template.php';
require_once BSF_AIOSRS_PRO_DIR . 'classes/class-bsf-aiosrs-pro-markup.php';
}
}
}
/**
* Kicking this off by calling 'get_instance()' method
*/
BSF_AIOSRS_Pro::get_instance();
<?php
/**
* Schema Pro Init
*
* @package Schema Pro
*/
define( 'BSF_REMOVE_WP-SCHEMA-PRO_FROM_REGISTRATION_LISTING', true );
if ( ! class_exists( 'BSF_AIOSRS_Pro' ) ) {
/**
* BSF_AIOSRS_Pro initial setup
*
* @since 1.0.0
*/
class BSF_AIOSRS_Pro {
/**
* Class instance.
*
* @access private
* @var $instance Class instance.
*/
private static $instance;
/**
* Initiator
*/
public static function get_instance() {
if ( ! isset( self::$instance ) ) {
self::$instance = new self();
}
return self::$instance;
}
/**
* Constructor
*/
public function __construct() {
// Includes Required Files.
$this->includes();
add_action( 'admin_notices', array( $this, 'setup_wizard_notice' ) );
add_action( 'wp_ajax_wp_schema_pro_setup_wizard_notice', array( $this, 'wp_schema_pro_setup_wizard_notice_callback' ) );
}
/**
* Setup Wizard
*
* @since 1.1.0
*/
public function setup_wizard_notice() {
if ( get_transient( 'wp-schema-pro-activated' ) ) {
$url = admin_url( 'index.php?page=aiosrs-pro-setup-wizard' );
$branding_notice = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-branding-settings'];
echo '<div class="wp-schema-pro-setup-wizard-notice notice notice-success is-dismissible">';
if ( '' !== $branding_notice['sp_plugin_name'] ) {
/* translators: %s: search term */
$brand_notice = sprintf( esc_html__( 'Configure %s step by step. ', 'wp-schema-pro' ), $branding_notice['sp_plugin_name'] );
echo '<p>' . esc_html( $brand_notice ) . '<a href="' . esc_url( $url ) . '">' . esc_html__( 'Start Setup Wizard &raquo;', 'wp-schema-pro' ) . '</a></p>';
} else {
echo '<p>' . esc_html__( 'Not sure where to start with Schema Pro? Check out our initial ', 'wp-schema-pro' ) . '<a href="' . esc_url( $url ) . '">' . esc_html__( 'setup wizard first &raquo;', 'wp-schema-pro' ) . '</a></p>';
}
echo '</div>';
?>
<script type="text/javascript">
(function($){
$(document).on('click', '.wp-schema-pro-setup-wizard-notice .notice-dismiss', function(){
$.ajax({
url: ajaxurl,
type: 'POST',
data: {
action : 'wp_schema_pro_setup_wizard_notice',
nonce : '<?php echo esc_attr( wp_create_nonce( 'wp-schema-pro-setup-wizard-notice' ) ); ?>'
},
});
});
})(jQuery);
</script>
<?php
}
}
/**
* Dismiss Notice
*
* @return void
*/
public function wp_schema_pro_setup_wizard_notice_callback() {
check_ajax_referer( 'wp-schema-pro-setup-wizard-notice', 'nonce' );
delete_transient( 'wp-schema-pro-activated' );
wp_send_json_success();
}
/**
* Include required files.
*
* @since 1.0.0
* @return void
*/
public function includes() {
require_once BSF_AIOSRS_PRO_DIR . 'classes/lib/target-rule/class-bsf-target-rule-fields.php';
require_once BSF_AIOSRS_PRO_DIR . 'classes/lib/class-bsf-custom-post-list-table.php';
require_once BSF_AIOSRS_PRO_DIR . 'classes/class-wp-schema-pro-yoast-compatibility.php';
require_once BSF_AIOSRS_PRO_DIR . 'classes/class-bsf-aiosrs-pro-admin.php';
require_once BSF_AIOSRS_PRO_DIR . 'classes/class-bsf-aiosrs-pro-schema.php';
require_once BSF_AIOSRS_PRO_DIR . 'classes/class-bsf-aiosrs-pro-custom-fields-markup.php';
require_once BSF_AIOSRS_PRO_DIR . 'classes/class-bsf-aiosrs-pro-branding.php';
require_once BSF_AIOSRS_PRO_DIR . 'classes/class-bsf-aiosrs-pro-amp.php';
/**
* Frontend.
*/
require_once BSF_AIOSRS_PRO_DIR . 'classes/class-bsf-aiosrs-pro-schema-template.php';
require_once BSF_AIOSRS_PRO_DIR . 'classes/class-bsf-aiosrs-pro-markup.php';
}
}
}
/**
* Kicking this off by calling 'get_instance()' method
*/
BSF_AIOSRS_Pro::get_instance();

View File

@@ -1,91 +1,91 @@
<?php
/**
* Schema Pro Yoast Compatibilty
*
* @since 1.1.0
* @package Schema Pro
*/
if ( ! class_exists( 'WP_Schema_Pro_Yoast_Compatibility' ) ) {
/**
* WP_Schema_Pro_Yoast_Compatibility initial setup
*
* @since 1.1.0
*/
class WP_Schema_Pro_Yoast_Compatibility {
/**
* Class instance.
*
* @access private
* @var $instance Class instance.
*/
private static $instance;
/**
* Yoast SEO is activated or not.
*
* @access private
* @var $activated Yoast SEO is activated or not.
*/
public static $activated = false;
/**
* Yoast SEO Options.
*
* @access private
* @var $wpseo Yoast SEO options.
*/
private static $wpseo = array();
/**
* Initiator
*/
public static function get_instance() {
if ( ! isset( self::$instance ) ) {
self::$instance = new self();
}
return self::$instance;
}
/**
* Constructor function.
*/
public function __construct() {
if ( defined( 'WPSEO_VERSION' ) && class_exists( 'WPSEO_Options' ) ) {
self::$activated = true;
}
}
/**
* Get Yoast Options
*
* @param string $key Yoast Option key.
* @return array Get yoast compatibility options.
*/
public static function get_option( $key = '' ) {
$settings = get_option( 'aiosrs-pro-settings', array() );
if ( ! self::$activated || ( isset( $settings['yoast-compatibility'] ) && '1' !== $settings['yoast-compatibility'] ) ) {
return false;
}
if ( 'wp_schema_pro_yoast_enabled' === $key ) {
return true;
}
if ( empty( self::$wpseo ) && method_exists( 'WPSEO_Options', 'get_options' ) ) {
self::$wpseo = WPSEO_Options::get_options( array( 'wpseo', 'wpseo_social', 'wpseo_internallinks', 'wpseo_titles' ) );
}
return isset( self::$wpseo[ $key ] ) ? self::$wpseo[ $key ] : false;
}
}
}
/**
* Kicking this off by calling 'get_instance()' method
*/
WP_Schema_Pro_Yoast_Compatibility::get_instance();
<?php
/**
* Schema Pro Yoast Compatibilty
*
* @since 1.1.0
* @package Schema Pro
*/
if ( ! class_exists( 'WP_Schema_Pro_Yoast_Compatibility' ) ) {
/**
* WP_Schema_Pro_Yoast_Compatibility initial setup
*
* @since 1.1.0
*/
class WP_Schema_Pro_Yoast_Compatibility {
/**
* Class instance.
*
* @access private
* @var $instance Class instance.
*/
private static $instance;
/**
* Yoast SEO is activated or not.
*
* @access private
* @var $activated Yoast SEO is activated or not.
*/
public static $activated = false;
/**
* Yoast SEO Options.
*
* @access private
* @var $wpseo Yoast SEO options.
*/
private static $wpseo = array();
/**
* Initiator
*/
public static function get_instance() {
if ( ! isset( self::$instance ) ) {
self::$instance = new self();
}
return self::$instance;
}
/**
* Constructor function.
*/
public function __construct() {
if ( defined( 'WPSEO_VERSION' ) && class_exists( 'WPSEO_Options' ) ) {
self::$activated = true;
}
}
/**
* Get Yoast Options
*
* @param string $key Yoast Option key.
* @return array Get yoast compatibility options.
*/
public static function get_option( $key = '' ) {
$settings = get_option( 'aiosrs-pro-settings', array() );
if ( ! self::$activated || ( isset( $settings['yoast-compatibility'] ) && '1' !== $settings['yoast-compatibility'] ) ) {
return false;
}
if ( 'wp_schema_pro_yoast_enabled' === $key ) {
return true;
}
if ( empty( self::$wpseo ) && method_exists( 'WPSEO_Options', 'get_options' ) ) {
self::$wpseo = WPSEO_Options::get_options( array( 'wpseo', 'wpseo_social', 'wpseo_internallinks', 'wpseo_titles' ) );
}
return isset( self::$wpseo[ $key ] ) ? self::$wpseo[ $key ] : false;
}
}
}
/**
* Kicking this off by calling 'get_instance()' method
*/
WP_Schema_Pro_Yoast_Compatibility::get_instance();

View File

@@ -36,33 +36,25 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Article' ) ) {
$schema['mainEntityOfPage']['@id'] = esc_url( $data['main-entity'] );
}
if ( isset( $data['name'] ) && ! empty( $data['name'] ) ) {
$schema['headline'] = wp_strip_all_tags( $data['name'] );
}
$schema['headline'] = ! empty( $data['name'] ) ? wp_strip_all_tags( (string)$data['name'] ) : NULL;
if ( isset( $data['image'] ) && ! empty( $data['image'] ) ) {
$schema['image'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $data['image'] );
}
if ( isset( $data['published-date'] ) && ! empty( $data['published-date'] ) ) {
$schema['datePublished'] = wp_strip_all_tags( $data['published-date'] );
}
$schema['datePublished'] = ! empty( $data['published-date'] ) ? wp_strip_all_tags( (string)$data['published-date'] ) : NULL;
if ( isset( $data['modified-date'] ) && ! empty( $data['modified-date'] ) ) {
$schema['dateModified'] = wp_strip_all_tags( $data['modified-date'] );
}
$schema['dateModified'] = ! empty( $data['modified-date'] ) ? wp_strip_all_tags( (string)$data['modified-date'] ) : NULL;
if ( isset( $data['author'] ) && ! empty( $data['author'] ) ) {
if ( ! empty( $data['author'] ) ) {
$schema['author']['@type'] = 'Person';
$schema['author']['name'] = wp_strip_all_tags( $data['author'] );
if ( isset( $data['author-url'] ) && ! empty( $data['author-url'] ) ) {
$schema['author']['url'] = wp_strip_all_tags( $data['author-url'] );
}
$schema['author']['name'] = wp_strip_all_tags( (string)$data['author'] );
$schema['author']['url'] = ! empty( $data['author-url'] ) ? wp_strip_all_tags( (string)$data['author-url'] ) : NULL;
}
if ( isset( $data['orgnization-name'] ) && ! empty( $data['orgnization-name'] ) ) {
if ( ! empty( $data['orgnization-name'] ) ) {
$schema['publisher']['@type'] = 'Organization';
$schema['publisher']['name'] = wp_strip_all_tags( $data['orgnization-name'] );
$schema['publisher']['name'] = wp_strip_all_tags( (string)$data['orgnization-name'] );
}
if ( isset( $data['site-logo'] ) && ! empty( $data['site-logo'] ) ) {
@@ -88,9 +80,7 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Article' ) ) {
}
}
if ( isset( $data['description'] ) && ! empty( $data['description'] ) ) {
$schema['description'] = wp_strip_all_tags( $data['description'] );
}
$schema['description'] = ! empty( $data['description'] ) ? wp_strip_all_tags( (string)$data['description'] ) : NULL;
return apply_filters( 'wp_schema_pro_schema_article', $schema, $data, $post );
}

View File

@@ -28,16 +28,14 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Book' ) ) {
$schema['@context'] = 'https://schema.org';
$schema['@type'] = 'Book';
if ( isset( $data['name'] ) && ! empty( $data['name'] ) ) {
$schema['name'] = wp_strip_all_tags( $data['name'] );
}
$schema['name'] = ! empty( $data['name'] ) ? wp_strip_all_tags( (string)$data['name'] ) : NULL;
if ( isset( $data['image'] ) && ! empty( $data['image'] ) ) {
$schema['image'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $data['image'] );
}
if ( isset( $data['author'] ) && ! empty( $data['author'] ) ) {
if ( ! empty( $data['author'] ) ) {
$schema['author']['@type'] = 'Person';
$schema['author']['name'] = wp_strip_all_tags( $data['author'] );
$schema['author']['name'] = wp_strip_all_tags( (string)$data['author'] );
}
if ( isset( $data['url'] ) && ! empty( $data['url'] ) ) {
@@ -52,17 +50,11 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Book' ) ) {
foreach ( $data['work-example'] as $key => $value ) {
$schema['workExample'][ $key ]['@type'] = 'Book';
if ( isset( $value['serial-number'] ) && ! empty( $value['serial-number'] ) ) {
$schema['workExample'][ $key ]['isbn'] = wp_strip_all_tags( $value['serial-number'] );
}
$schema['workExample'][ $key ]['isbn'] = ! empty( $value['serial-number'] ) ? wp_strip_all_tags( (string)$value['serial-number'] ) : NULL;
if ( isset( $value['book-edition'] ) && ! empty( $value['book-edition'] ) ) {
$schema['workExample'][ $key ]['bookEdition'] = wp_strip_all_tags( $value['book-edition'] );
}
$schema['workExample'][ $key ]['bookEdition'] = ! empty( $value['book-edition'] ) ? wp_strip_all_tags( (string)$value['book-edition'] ) : NULL;
if ( isset( $value['book-format'] ) && ! empty( $value['book-format'] ) ) {
$schema['workExample'][ $key ]['bookFormat'] = 'https://schema.org/' . wp_strip_all_tags( $value['book-format'] );
}
$schema['workExample'][ $key ]['bookFormat'] = ! empty( $value['book-format'] ) ? 'https://schema.org/' . wp_strip_all_tags( (string)$value['book-format'] ) : NULL;
$schema['workExample'][ $key ]['potentialAction']['@type'] = 'ReadAction';
$schema['workExample'][ $key ]['potentialAction']['target']['@type'] = 'EntryPoint';
@@ -73,20 +65,10 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Book' ) ) {
$schema['workExample'][ $key ]['potentialAction']['expectsAcceptanceOf']['@type'] = 'Offer';
$schema['workExample'][ $key ]['potentialAction']['expectsAcceptanceOf']['price'] = '0';
if ( isset( $value['price'] ) && ! empty( $value['price'] ) ) {
$schema['workExample'][ $key ]['potentialAction']['expectsAcceptanceOf']['price'] = wp_strip_all_tags( $value['price'] );
}
$schema['workExample'][ $key ]['potentialAction']['expectsAcceptanceOf']['price'] = ! empty( $value['price'] ) ? wp_strip_all_tags( (string)$value['price'] ) : NULL;
if ( ( isset( $value['currency'] ) && ! empty( $value['currency'] ) ) ||
( isset( $value['avail'] ) && ! empty( $value['avail'] ) ) ) {
if ( isset( $value['currency'] ) && ! empty( $value['currency'] ) ) {
$schema['workExample'][ $key ]['potentialAction']['expectsAcceptanceOf']['priceCurrency'] = wp_strip_all_tags( $value['currency'] );
}
if ( isset( $value['avail'] ) && ! empty( $value['avail'] ) ) {
$schema['workExample'][ $key ]['potentialAction']['expectsAcceptanceOf']['availability'] = wp_strip_all_tags( $value['avail'] );
}
}
$schema['workExample'][ $key ]['potentialAction']['expectsAcceptanceOf']['priceCurrency'] = ! empty( $value['currency'] ) ? wp_strip_all_tags( (string)$value['currency'] ) : NULL;
$schema['workExample'][ $key ]['potentialAction']['expectsAcceptanceOf']['availability'] = ! empty( $value['avail'] ) ? wp_strip_all_tags( (string)$value['avail'] ) : NULL;
if ( isset( $value['country'] ) && ! empty( $value['country'] ) ) {
$expects_acceptance = explode( ',', $value['country'] );

View File

@@ -28,17 +28,11 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Course' ) ) {
$schema['@context'] = 'https://schema.org';
$schema['@type'] = 'Course';
if ( isset( $data['name'] ) && ! empty( $data['name'] ) ) {
$schema['name'] = wp_strip_all_tags( $data['name'] );
}
$schema['name'] = ! empty( $data['name'] ) ? wp_strip_all_tags( (string)$data['name'] ) : NULL;
if ( isset( $data['course-code'] ) && ! empty( $data['course-code'] ) ) {
$schema['courseCode'] = wp_strip_all_tags( $data['course-code'] );
}
$schema['courseCode'] = ! empty( $data['course-code'] ) ? wp_strip_all_tags( (string)$data['course-code'] ) : NULL;
if ( isset( $data['description'] ) && ! empty( $data['description'] ) ) {
$schema['description'] = wp_strip_all_tags( $data['description'] );
}
$schema['description'] = ! empty( $data['description'] ) ? wp_strip_all_tags( (string)$data['description'] ) : NULL;
if ( isset( $data['course-instance'] ) && ! empty( $data['course-instance'] ) ) {
@@ -50,42 +44,28 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Course' ) ) {
isset( $value['location-address'] ) && ! empty( $value['location-address'] ) ) {
$schema['hasCourseInstance'][ $key ]['@type'] = 'CourseInstance';
if ( isset( $value['name'] ) && ! empty( $value['name'] ) ) {
$schema['hasCourseInstance'][ $key ]['name'] = wp_strip_all_tags( $value['name'] );
}
$schema['hasCourseInstance'][ $key ]['name'] = ! empty( $value['name'] ) ? wp_strip_all_tags( (string)$value['name'] ) : NULL;
if ( isset( $value['description'] ) && ! empty( $value['description'] ) ) {
$schema['hasCourseInstance'][ $key ]['description'] = wp_strip_all_tags( $value['description'] );
}
$schema['hasCourseInstance'][ $key ]['description'] = ! empty( $value['description'] ) ? wp_strip_all_tags( (string)$value['description'] ) : NULL;
if ( isset( $value['course-mode'] ) && ! empty( $value['course-mode'] ) ) {
$schema['hasCourseInstance'][ $key ]['courseMode'] = wp_strip_all_tags( $value['course-mode'] );
}
$schema['hasCourseInstance'][ $key ]['courseMode'] = ! empty( $value['course-mode'] ) ? wp_strip_all_tags( (string)$value['course-mode'] ) : NULL;
if ( isset( $value['event-status'] ) && ! empty( $value['event-status'] ) ) {
$schema['hasCourseInstance'][ $key ]['eventStatus'] = wp_strip_all_tags( $value['event-status'] );
}
$schema['hasCourseInstance'][ $key ]['eventStatus'] = ! empty( $value['event-status'] ) ? wp_strip_all_tags( (string)$value['event-status'] ) : NULL;
if ( isset( $value['event-attendance-mode'] ) && ! empty( $value['event-attendance-mode'] ) ) {
$schema['hasCourseInstance'][ $key ]['eventAttendanceMode'] = wp_strip_all_tags( $value['event-attendance-mode'] );
}
$schema['hasCourseInstance'][ $key ]['eventAttendanceMode'] = ! empty( $value['event-attendance-mode'] ) ? wp_strip_all_tags( (string)$value['event-attendance-mode'] ) : NULL;
if ( isset( $value['start-date'] ) && ! empty( $value['start-date'] ) ) {
if ( ! empty( $value['start-date'] ) ) {
if ( 'OfflineEventAttendanceMode' !== isset( $value['event-attendance-mode'] ) ) {
$start_date = gmdate( DATE_ISO8601, strtotime( $value['start-date'] ) );
$schema['hasCourseInstance'][ $key ]['startDate'] = wp_strip_all_tags( $start_date );
$schema['hasCourseInstance'][ $key ]['startDate'] = wp_strip_all_tags( (string)$start_date );
} else {
$schema['hasCourseInstance'][ $key ]['startDate'] = wp_strip_all_tags( $value['start-date'] );
$schema['hasCourseInstance'][ $key ]['startDate'] = wp_strip_all_tags( (string)$value['start-date'] );
}
}
if ( isset( $value['end-date'] ) && ! empty( $value['end-date'] ) ) {
$schema['hasCourseInstance'][ $key ]['endDate'] = wp_strip_all_tags( $value['end-date'] );
}
$schema['hasCourseInstance'][ $key ]['endDate'] = ! empty( $value['end-date'] ) ? wp_strip_all_tags( (string)$value['end-date'] ) : NULL;
if ( isset( $value['previous-date'] ) && ! empty( $value['previous-date'] ) && 'EventRescheduled' === $value['event-status'] ) {
$schema['hasCourseInstance'][ $key ]['previousStartDate'] = wp_strip_all_tags( $value['previous-date'] );
}
$schema['hasCourseInstance'][ $key ]['previousStartDate'] = ! empty( $value['previous-date'] ) ? wp_strip_all_tags( (string)$value['previous-date'] ) : NULL;
if ( isset( $value['online-location'] ) && ! empty( $value['online-location'] ) && 'OfflineEventAttendanceMode' !== $value['event-attendance-mode'] || 'MixedEventAttendanceMode' === $value['event-attendance-mode'] ) {
$schema['hasCourseInstance'][ $key ]['location']['@type'] = 'VirtualLocation';
@@ -96,50 +76,36 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Course' ) ) {
$schema['hasCourseInstance'][ $key ]['image'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $value['image'] );
}
if ( isset( $value['location-name'] ) && ! empty( $value['location-name'] ) && 'OnlineEventAttendanceMode' !== $value['event-attendance-mode'] ) {
if ( ! empty( $value['location-name'] ) && 'OnlineEventAttendanceMode' !== $value['event-attendance-mode'] ) {
$schema['hasCourseInstance'][ $key ]['location']['@type'] = 'Place';
$schema['hasCourseInstance'][ $key ]['location']['name'] = wp_strip_all_tags( $value['location-name'] );
$schema['hasCourseInstance'][ $key ]['location']['name'] = wp_strip_all_tags( (string)$value['location-name'] );
}
if ( isset( $value['location-address'] ) && ! empty( $value['location-address'] ) && 'OnlineEventAttendanceMode' !== $value['event-attendance-mode'] ) {
if ( ! empty( $value['location-address'] ) && 'OnlineEventAttendanceMode' !== $value['event-attendance-mode'] && is_string( $value['location-address'] ) ) {
$schema['hasCourseInstance'][ $key ]['location']['@type'] = 'Place';
$schema['hasCourseInstance'][ $key ]['location']['address'] = wp_strip_all_tags( $value['location-address'] );
$schema['hasCourseInstance'][ $key ]['location']['address'] = wp_strip_all_tags( (string)$value['location-address'] );
}
$schema['hasCourseInstance'][ $key ]['organizer']['@type'] = 'Organization';
if ( isset( $value['course-organizer-name'] ) && ! empty( $value['course-organizer-name'] ) ) {
$schema['hasCourseInstance'][ $key ]['organizer']['name'] = wp_strip_all_tags( $value['course-organizer-name'] );
}
if ( isset( $value['course-organizer-url'] ) && ! empty( $value['course-organizer-url'] ) ) {
$schema['hasCourseInstance'][ $key ]['organizer']['url'] = wp_strip_all_tags( $value['course-organizer-url'] );
}
$schema['hasCourseInstance'][ $key ]['organizer']['name'] = ! empty( $value['course-organizer-name'] ) ? wp_strip_all_tags( (string)$value['course-organizer-name'] ) : NULL;
$schema['hasCourseInstance'][ $key ]['organizer']['url'] = ! empty( $value['course-organizer-url'] ) ? wp_strip_all_tags( (string)$value['course-organizer-url'] ) : NULL;
$schema['hasCourseInstance'][ $key ]['offers']['@type'] = 'Offer';
$schema['hasCourseInstance'][ $key ]['offers']['price'] = '0';
if ( isset( $value['price'] ) && ! empty( $value['price'] ) ) {
$schema['hasCourseInstance'][ $key ]['offers']['price'] = wp_strip_all_tags( $value['price'] );
}
$schema['hasCourseInstance'][ $key ]['offers']['price'] = ! empty( $value['price'] ) ? wp_strip_all_tags( (string)$value['price'] ) : NULL;
if ( isset( $value['currency'] ) && ! empty( $value['currency'] ) ) {
$schema['hasCourseInstance'][ $key ]['offers']['priceCurrency'] = wp_strip_all_tags( $value['currency'] );
}
$schema['hasCourseInstance'][ $key ]['offers']['priceCurrency'] = ! empty( $value['currency'] ) ? wp_strip_all_tags( (string)$value['currency'] ) : NULL;
if ( isset( $value['url'] ) && ! empty( $value['url'] ) ) {
$schema['hasCourseInstance'][ $key ]['offers']['url'] = wp_strip_all_tags( $value['url'] );
}
$schema['hasCourseInstance'][ $key ]['offers']['url'] = ! empty( $value['url'] ) ? wp_strip_all_tags( (string)$value['url'] ) : NULL;
if ( isset( $value['valid-from'] ) && ! empty( $value['valid-from'] ) ) {
$schema['hasCourseInstance'][ $key ]['offers']['validFrom'] = wp_strip_all_tags( $value['valid-from'] );
}
$schema['hasCourseInstance'][ $key ]['offers']['validFrom'] = ! empty( $value['valid-from'] ) ? wp_strip_all_tags( (string)$value['valid-from'] ) : NULL;
if ( isset( $value['avail'] ) && ! empty( $value['avail'] ) ) {
$schema['hasCourseInstance'][ $key ]['offers']['availability'] = wp_strip_all_tags( $value['avail'] );
}
$schema['hasCourseInstance'][ $key ]['offers']['availability'] = ! empty( $value['avail'] ) ? wp_strip_all_tags( (string)$value['avail'] ) : NULL;
if ( isset( $value['performer'] ) && ! empty( $value['performer'] ) ) {
if ( ! empty( $value['performer'] ) ) {
$schema['hasCourseInstance'][ $key ]['performer']['@type'] = 'Person';
$schema['hasCourseInstance'][ $key ]['performer']['name'] = wp_strip_all_tags( $value['performer'] );
$schema['hasCourseInstance'][ $key ]['performer']['name'] = wp_strip_all_tags( (string)$value['performer'] );
}
}
}
@@ -150,9 +116,7 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Course' ) ) {
$schema['provider']['@type'] = 'Organization';
if ( isset( $data['orgnization-name'] ) && ! empty( $data['orgnization-name'] ) ) {
$schema['provider']['name'] = wp_strip_all_tags( $data['orgnization-name'] );
}
$schema['provider']['name'] = ! empty( $data['orgnization-name'] ) ? wp_strip_all_tags( (string)$data['orgnization-name'] ) : NULL;
if ( isset( $data['same-as'] ) && ! empty( $data['same-as'] ) ) {
$schema['provider']['sameAs'] = esc_url( $data['same-as'] );
}
@@ -163,12 +127,8 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Course' ) ) {
$schema['aggregateRating']['@type'] = 'AggregateRating';
if ( isset( $data['rating'] ) && ! empty( $data['rating'] ) ) {
$schema['aggregateRating']['ratingValue'] = wp_strip_all_tags( $data['rating'] );
}
if ( isset( $data['review-count'] ) && ! empty( $data['review-count'] ) ) {
$schema['aggregateRating']['reviewCount'] = wp_strip_all_tags( $data['review-count'] );
}
$schema['aggregateRating']['ratingValue'] = ! empty( $data['rating'] ) ? wp_strip_all_tags( (string)$data['rating'] ) : NULL;
$schema['aggregateRating']['reviewCount'] = ! empty( $data['review-count'] ) ? wp_strip_all_tags( $data['review-count'] ) : NULL;
}
return apply_filters( 'wp_schema_pro_schema_course', $schema, $data, $post );

View File

@@ -1,35 +1,35 @@
<?php
/**
* Schemas Template.
*
* @package Schema Pro
* @since 2.5.0
*/
if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Custom_Markup' ) ) {
/**
* AIOSRS Schemas Initialization
*
* @since 2.5.0
*/
class BSF_AIOSRS_Pro_Schema_Custom_Markup {
/**
* Render Schema.
*
* @param array $data Meta Data.
* @param array $post Current Post Array.
* @return array
*/
public static function render( $data, $post ) {
$schema = array();
if ( isset( $data['custom-markup'] ) && ! empty( $data['custom-markup'] ) ) {
$schema['custom-markup'] = $data['custom-markup'];
}
return apply_filters( 'wp_schema_pro_schema_article', $schema, $data, $post );
}
}
}
<?php
/**
* Schemas Template.
*
* @package Schema Pro
* @since 2.5.0
*/
if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Custom_Markup' ) ) {
/**
* AIOSRS Schemas Initialization
*
* @since 2.5.0
*/
class BSF_AIOSRS_Pro_Schema_Custom_Markup {
/**
* Render Schema.
*
* @param array $data Meta Data.
* @param array $post Current Post Array.
* @return array
*/
public static function render( $data, $post ) {
$schema = array();
if ( isset( $data['custom-markup'] ) && ! empty( $data['custom-markup'] ) ) {
$schema['custom-markup'] = $data['custom-markup'];
}
return apply_filters( 'wp_schema_pro_schema_article', $schema, $data, $post );
}
}
}

View File

@@ -74,29 +74,21 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Event' ) ) {
public static function prepare_location( $schema, $data, $offline = true ) {
if ( $offline ) {
if ( isset( $data['location'] ) && ! empty( $data['location'] ) ) {
if ( ! empty( $data['location'] ) ) {
$schema['location']['@type'] = 'Place';
$schema['location']['name'] = wp_strip_all_tags( $data['location'] );
$schema['location']['name'] = wp_strip_all_tags( (string)$data['location'] );
}
$schema['location']['@type'] = 'Place';
$schema['location']['address']['@type'] = 'PostalAddress';
if ( isset( $data['location-street'] ) && ! empty( $data['location-street'] ) ) {
$schema['location']['address']['streetAddress'] = wp_strip_all_tags( $data['location-street'] );
}
if ( isset( $data['location-locality'] ) && ! empty( $data['location-locality'] ) ) {
$schema['location']['address']['addressLocality'] = wp_strip_all_tags( $data['location-locality'] );
}
if ( isset( $data['location-postal'] ) && ! empty( $data['location-postal'] ) ) {
$schema['location']['address']['postalCode'] = wp_strip_all_tags( $data['location-postal'] );
}
if ( isset( $data['location-region'] ) && ! empty( $data['location-region'] ) ) {
$schema['location']['address']['addressRegion'] = wp_strip_all_tags( $data['location-region'] );
}
if ( isset( $data['location-country'] ) && ! empty( $data['location-country'] ) ) {
$schema['location']['address']['streetAddress'] = ! empty( $data['location-street'] ) ? wp_strip_all_tags( (string)$data['location-street'] ) : NULL;
$schema['location']['address']['addressLocality'] = ! empty( $data['location-locality'] ) ? wp_strip_all_tags( (string)$data['location-locality'] ) : NULL;
$schema['location']['address']['postalCode'] = ! empty( $data['location-postal'] ) ? wp_strip_all_tags( (string)$data['location-postal'] ) : NULL;
$schema['location']['address']['addressRegion'] = ! empty( $data['location-region'] ) ? wp_strip_all_tags( (string)$data['location-region'] ) : NULL;
if ( ! empty( $data['location-country'] ) ) {
$schema['location']['address']['addressCountry']['@type'] = 'Country';
$schema['location']['address']['addressCountry']['name'] = wp_strip_all_tags( $data['location-country'] );
$schema['location']['address']['addressCountry']['name'] = wp_strip_all_tags( (string)$data['location-country'] );
}
} else {
$schema['location']['@type'] = 'VirtualLocation';
@@ -116,18 +108,10 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Event' ) ) {
$schema['offers']['@type'] = 'Offer';
$schema['offers']['price'] = '0';
if ( isset( $data['price'] ) && ! empty( $data['price'] ) ) {
$schema['offers']['price'] = wp_strip_all_tags( $data['price'] );
}
if ( isset( $data['avail'] ) && ! empty( $data['avail'] ) ) {
$schema['offers']['availability'] = wp_strip_all_tags( $data['avail'] );
}
if ( isset( $data['currency'] ) && ! empty( $data['currency'] ) ) {
$schema['offers']['priceCurrency'] = wp_strip_all_tags( $data['currency'] );
}
if ( isset( $data['valid-from'] ) && ! empty( $data['valid-from'] ) ) {
$schema['offers']['validFrom'] = wp_strip_all_tags( $data['valid-from'] );
}
$schema['offers']['price'] = ! empty( $data['price'] ) ? wp_strip_all_tags( (string)$data['price'] ) : NULL;
$schema['offers']['availability'] = ! empty( $data['avail'] ) ? wp_strip_all_tags( (string)$data['avail'] ) : NULL;
$schema['offers']['priceCurrency'] = ! empty( $data['currency'] ) ? wp_strip_all_tags( (string)$data['currency'] ) : NULL;
$schema['offers']['validFrom'] = ! empty( $data['valid-from'] ) ? wp_strip_all_tags( (string)$data['valid-from'] ) : NULL;
if ( isset( $data['ticket-buy-url'] ) && ! empty( $data['ticket-buy-url'] ) ) {
$schema['offers']['url'] = esc_url( $data['ticket-buy-url'] );
}
@@ -145,17 +129,13 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Event' ) ) {
*/
public static function prepare_performer( $schema, $data ) {
if ( isset( $data['performer'] ) && ! empty( $data['performer'] ) ) {
if ( ! empty( $data['performer'] ) ) {
$schema['performer']['@type'] = 'Person';
$schema['performer']['name'] = wp_strip_all_tags( $data['performer'] );
$schema['performer']['name'] = wp_strip_all_tags( (string)$data['performer'] );
}
$schema['organizer']['@type'] = 'Organization';
if ( isset( $data['event-organizer-name'] ) && ! empty( $data['event-organizer-name'] ) ) {
$schema['organizer']['name'] = wp_strip_all_tags( $data['event-organizer-name'] );
}
if ( isset( $data['event-organizer-url'] ) && ! empty( $data['event-organizer-url'] ) ) {
$schema['organizer']['url'] = wp_strip_all_tags( $data['event-organizer-url'] );
}
$schema['organizer']['name'] = ! empty( $data['event-organizer-name'] ) ? wp_strip_all_tags( (string)$data['event-organizer-name'] ) : NULL;
$schema['organizer']['url'] = ! empty( $data['event-organizer-url'] ) ? wp_strip_all_tags( (string)$data['event-organizer-url'] ) : NULL;
return $schema;
}
@@ -170,17 +150,11 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Event' ) ) {
public static function prepare_dates( $schema, $data ) {
$start_date = gmdate( DATE_ISO8601, strtotime( $data['start-date'] ) );
if ( isset( $start_date ) && ! empty( $start_date ) ) {
$schema['startDate'] = wp_strip_all_tags( $start_date );
}
$schema['startDate'] = ! empty( $start_date ) ? wp_strip_all_tags( (string)$start_date ) : NULL;
if ( isset( $data['end-date'] ) && ! empty( $data['end-date'] ) ) {
$schema['endDate'] = wp_strip_all_tags( $data['end-date'] );
}
$schema['endDate'] = ! empty( $data['end-date'] ) ? wp_strip_all_tags( (string)$data['end-date'] ) : NULL;
if ( 'EventRescheduled' === $data['event-status'] ) {
$schema['previousStartDate'] = wp_strip_all_tags( $data['previous-date'] );
}
$schema['previousStartDate'] = 'EventRescheduled' === $data['event-status'] ? wp_strip_all_tags( (string)$data['previous-date'] ) : NULL;
return $schema;
}
@@ -193,10 +167,8 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Event' ) ) {
* @return array
*/
public static function prepare_attendence_mode( $schema, $data ) {
if ( isset( $data['schema-type'] ) && isset( $data['event-attendance-mode'] ) && ! empty( $data['event-attendance-mode'] ) ) {
$schema['eventAttendanceMode'] = 'https://schema.org/' . wp_strip_all_tags( $data['event-attendance-mode'] );
}
$schema['eventAttendanceMode'] = isset( $data['schema-type'] ) && ! empty( $data['event-attendance-mode'] ) ? 'https://schema.org/' . wp_strip_all_tags( (string)$data['event-attendance-mode'] ) : NULL;
return $schema;
}
@@ -210,21 +182,15 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Event' ) ) {
*/
public static function prepare_basics( $schema, $data ) {
if ( isset( $data['name'] ) && ! empty( $data['name'] ) ) {
$schema['name'] = wp_strip_all_tags( $data['name'] );
}
$schema['name'] = ! empty( $data['name'] ) ? wp_strip_all_tags( (string)$data['name'] ) : NULL;
if ( isset( $data['event-status'] ) && ! empty( $data['event-status'] ) ) {
$schema['eventStatus'] = 'https://schema.org/' . wp_strip_all_tags( $data['event-status'] );
}
$schema['eventStatus'] = ! empty( $data['event-status'] ) ? 'https://schema.org/' . wp_strip_all_tags( (string)$data['event-status'] ) : NULL;
if ( isset( $data['image'] ) && ! empty( $data['image'] ) ) {
$schema['image'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $data['image'] );
}
if ( isset( $data['description'] ) && ! empty( $data['description'] ) ) {
$schema['description'] = wp_strip_all_tags( $data['description'] );
}
$schema['description'] = ! empty( $data['description'] ) ? wp_strip_all_tags( (string)$data['description'] ) : NULL;
return $schema;
}

View File

@@ -1,47 +1,47 @@
<?php
/**
* Schemas Template.
*
* @package Schema Pro
* @since 1.0.0
*/
if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_FAQ' ) ) {
/**
* AIOSRS Schemas Initialization
*
* @since 1.0.0
*/
class BSF_AIOSRS_Pro_Schema_FAQ {
/**
* Render Schema.
*
* @param array $data Meta Data.
* @param array $post Current Post Array.
* @return array
*/
public static function render( $data, $post ) {
global $post;
$schema = array();
if ( isset( $data['question-answer'][0]['question'] ) && ! empty( $data['question-answer'][0]['question'] ) ) {
$schema['@context'] = 'https://schema.org';
$schema['type'] = 'FAQPage';
foreach ( $data['question-answer'] as $key => $value ) {
if ( isset( $value['question'] ) && ! empty( $value['question'] ) ) {
$schema['mainEntity'][ $key ]['@type'] = 'Question';
$schema['mainEntity'][ $key ]['name'] = $value['question'];
}
if ( isset( $value['answer'] ) && ! empty( $value['answer'] ) ) {
$schema['mainEntity'][ $key ]['acceptedAnswer']['@type'] = 'Answer';
$schema['mainEntity'][ $key ]['acceptedAnswer']['text'] = $value['answer'];
}
}
}
return apply_filters( 'wp_schema_pro_schema_faq', $schema, $data, $post );
}
}
}
<?php
/**
* Schemas Template.
*
* @package Schema Pro
* @since 1.0.0
*/
if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_FAQ' ) ) {
/**
* AIOSRS Schemas Initialization
*
* @since 1.0.0
*/
class BSF_AIOSRS_Pro_Schema_FAQ {
/**
* Render Schema.
*
* @param array $data Meta Data.
* @param array $post Current Post Array.
* @return array
*/
public static function render( $data, $post ) {
global $post;
$schema = array();
if ( isset( $data['question-answer'][0]['question'] ) && ! empty( $data['question-answer'][0]['question'] ) ) {
$schema['@context'] = 'https://schema.org';
$schema['type'] = 'FAQPage';
foreach ( $data['question-answer'] as $key => $value ) {
if ( isset( $value['question'] ) && ! empty( $value['question'] ) ) {
$schema['mainEntity'][ $key ]['@type'] = 'Question';
$schema['mainEntity'][ $key ]['name'] = $value['question'];
}
if ( isset( $value['answer'] ) && ! empty( $value['answer'] ) ) {
$schema['mainEntity'][ $key ]['acceptedAnswer']['@type'] = 'Answer';
$schema['mainEntity'][ $key ]['acceptedAnswer']['text'] = $value['answer'];
}
}
}
return apply_filters( 'wp_schema_pro_schema_faq', $schema, $data, $post );
}
}
}

View File

@@ -28,17 +28,11 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_How_To' ) ) {
$schema['@context'] = 'https://schema.org';
$schema['@type'] = 'HowTo';
if ( isset( $data['name'] ) && ! empty( $data['name'] ) ) {
$schema['name'] = wp_strip_all_tags( $data['name'] );
}
$schema['name'] = ! empty( $data['name'] ) ? wp_strip_all_tags( (string)$data['name'] ) : NULL;
if ( isset( $data['description'] ) && ! empty( $data['description'] ) ) {
$schema['description'] = wp_strip_all_tags( $data['description'] );
}
$schema['description'] = ! empty( $data['description'] ) ? wp_strip_all_tags( (string)$data['description'] ) : NULL;
if ( isset( $data['total-time'] ) && ! empty( $data['total-time'] ) ) {
$schema['totalTime'] = wp_strip_all_tags( $data['total-time'] );
}
$schema['totalTime'] = ! empty( $data['total-time'] ) ? wp_strip_all_tags( (string)$data['total-time'] ) : NULL;
if ( isset( $data['supply'] ) && ! empty( $data['supply'] ) ) {
@@ -48,9 +42,7 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_How_To' ) ) {
$schema['supply'][ $key ]['@type'] = 'HowToSupply';
if ( isset( $value['name'] ) && ! empty( $value['name'] ) ) {
$schema['supply'][ $key ]['name'] = wp_strip_all_tags( $value['name'] );
}
$schema['supply'][ $key ]['name'] = ! empty( $value['name'] ) ? wp_strip_all_tags( (string)$value['name'] ) : NULL;
}
}
}
@@ -63,9 +55,7 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_How_To' ) ) {
$schema['tool'][ $key ]['@type'] = 'HowToTool';
if ( isset( $value['name'] ) && ! empty( $value['name'] ) ) {
$schema['tool'][ $key ]['name'] = wp_strip_all_tags( $value['name'] );
}
$schema['tool'][ $key ]['name'] = ! empty( $value['name'] ) ? wp_strip_all_tags( (string)$value['name'] ) : NULL;
}
}
}

View File

@@ -41,8 +41,8 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Image_License' ) ) {
if ( isset( $value['credit-text'] ) && ! empty( $value['credit-text'] ) ) {
$schema[ $key ]['creditText'] = esc_url( $value['credit-text'] );
}
if ( isset( $data['creator-type'] ) && ! empty( $data['creator-type'] ) ) {
$schema['creator']['@type'] = wp_strip_all_tags( $data['creator-type'] );
if ( ! empty( $data['creator-type'] ) ) {
$schema['creator']['@type'] = wp_strip_all_tags( (string)$data['creator-type'] );
} else {
$schema[ $key ]['creator']['@type'] = 'Person';
}

View File

@@ -28,62 +28,42 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Job_Posting' ) ) {
$schema['@context'] = 'https://schema.org';
$schema['@type'] = 'JobPosting';
if ( isset( $data['title'] ) && ! empty( $data['title'] ) ) {
$schema['title'] = wp_strip_all_tags( $data['title'] );
$schema['title'] = ! empty( $data['title'] ) ? wp_strip_all_tags( (string)$data['title'] ) : NULL;
$schema['description'] = ! empty( $data['description'] ) ? (string)$data['description'] : NULL;
$schema['datePosted'] = ! empty( $data['start-date'] ) ? wp_strip_all_tags( (string)$data['start-date'] ) : NULL;
$schema['validThrough'] = ! empty( $data['expiry-date'] ) ? wp_strip_all_tags( (string)$data['expiry-date'] ) : NULL;
$schema['employmentType'] = ! empty( $data['job-type'] ) ? wp_strip_all_tags( (string)$data['job-type'] ) : NULL;
if ( ! empty( $data['education-requirements'] ) ) {
$schema['educationRequirements']['@type'] = 'EducationalOccupationalCredential';
$schema['educationRequirements']['credentialCategory'] = wp_strip_all_tags( (string)$data['education-requirements'] );
}
if ( isset( $data['description'] ) && ! empty( $data['description'] ) ) {
$schema['description'] = wp_strip_all_tags( $data['description'] );
if ( ! empty( $data['experience-requirements'] ) ) {
$schema['experienceRequirements']['@type'] = 'OccupationalExperienceRequirements';
$schema['experienceRequirements']['monthsOfExperience'] = wp_strip_all_tags( (string)$data['experience-requirements'] );
}
if ( isset( $data['start-date'] ) && ! empty( $data['start-date'] ) ) {
$schema['datePosted'] = wp_strip_all_tags( $data['start-date'] );
}
$schema['industry'] = ! empty( $data['industry'] ) ? wp_strip_all_tags( (string)$data['industry'] ) : NULL;
if ( isset( $data['expiry-date'] ) && ! empty( $data['expiry-date'] ) ) {
$schema['validThrough'] = wp_strip_all_tags( $data['expiry-date'] );
}
$schema['qualifications'] = ! empty( $data['qualifications'] ) ? wp_strip_all_tags( (string)$data['qualifications'] ) : NULL;
if ( isset( $data['job-type'] ) && ! empty( $data['job-type'] ) ) {
$schema['employmentType'] = wp_strip_all_tags( $data['job-type'] );
}
$schema['responsibilities'] = ! empty( $data['responsibilities'] ) ? wp_strip_all_tags( (string)$data['responsibilities'] ) : NULL;
if ( isset( $data['education-requirements'] ) && ! empty( $data['education-requirements'] ) ) {
$schema['educationRequirements'] = wp_strip_all_tags( $data['education-requirements'] );
}
$schema['skills'] = ! empty( $data['skills'] ) ? wp_strip_all_tags( (string)$data['skills'] ) : NULL;
if ( isset( $data['experience-requirements'] ) && ! empty( $data['experience-requirements'] ) ) {
$schema['experienceRequirements'] = wp_strip_all_tags( $data['experience-requirements'] );
}
if ( isset( $data['industry'] ) && ! empty( $data['industry'] ) ) {
$schema['industry'] = wp_strip_all_tags( $data['industry'] );
}
if ( isset( $data['qualifications'] ) && ! empty( $data['qualifications'] ) ) {
$schema['qualifications'] = wp_strip_all_tags( $data['qualifications'] );
}
if ( isset( $data['responsibilities'] ) && ! empty( $data['responsibilities'] ) ) {
$schema['responsibilities'] = wp_strip_all_tags( $data['responsibilities'] );
}
if ( isset( $data['skills'] ) && ! empty( $data['skills'] ) ) {
$schema['skills'] = wp_strip_all_tags( $data['skills'] );
}
if ( isset( $data['work-hours'] ) && ! empty( $data['work-hours'] ) ) {
$schema['workHours'] = wp_strip_all_tags( $data['work-hours'] );
}
$schema['workHours'] = ! empty( $data['work-hours'] ) ? wp_strip_all_tags( (string)$data['work-hours'] ) : NULL;
if ( ( isset( $data['orgnization-name'] ) && ! empty( $data['orgnization-name'] ) ) ||
( isset( $data['same-as'] ) && ! empty( $data['same-as'] ) ) ) {
$schema['hiringOrganization']['@type'] = 'Organization';
if ( isset( $data['orgnization-name'] ) && ! empty( $data['orgnization-name'] ) ) {
$schema['hiringOrganization']['name'] = wp_strip_all_tags( $data['orgnization-name'] );
}
$schema['hiringOrganization']['name'] = wp_strip_all_tags( (string)$data['orgnization-name'] );
if ( isset( $data['same-as'] ) && ! empty( $data['same-as'] ) ) {
$schema['hiringOrganization']['sameAs'] = esc_url( $data['same-as'] );
}
@@ -102,42 +82,30 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Job_Posting' ) ) {
$schema['jobLocation']['@type'] = 'Place';
$schema['jobLocation']['address']['@type'] = 'PostalAddress';
if ( isset( $data['location-street'] ) && ! empty( $data['location-street'] ) ) {
$schema['jobLocation']['address']['streetAddress'] = wp_strip_all_tags( $data['location-street'] );
}
if ( isset( $data['location-locality'] ) && ! empty( $data['location-locality'] ) ) {
$schema['jobLocation']['address']['addressLocality'] = wp_strip_all_tags( $data['location-locality'] );
}
if ( isset( $data['location-postal'] ) && ! empty( $data['location-postal'] ) ) {
$schema['jobLocation']['address']['postalCode'] = wp_strip_all_tags( $data['location-postal'] );
}
if ( isset( $data['location-region'] ) && ! empty( $data['location-region'] ) ) {
$schema['jobLocation']['address']['addressRegion'] = wp_strip_all_tags( $data['location-region'] );
}
if ( isset( $data['location-country'] ) && ! empty( $data['location-country'] ) ) {
$schema['jobLocation']['address']['addressCountry'] = wp_strip_all_tags( $data['location-country'] );
}
$schema['jobLocation']['address']['streetAddress'] = ! empty( $data['location-street'] ) ? wp_strip_all_tags( (string)$data['location-street'] ) : NULL;
$schema['jobLocation']['address']['addressLocality'] = ! empty( $data['location-locality'] ) ? wp_strip_all_tags( (string)$data['location-locality'] ) : NULL;
$schema['jobLocation']['address']['postalCode'] = ! empty( $data['location-postal'] ) ? wp_strip_all_tags( (string)$data['location-postal'] ) : NULL;
$schema['jobLocation']['address']['addressRegion'] = ! empty( $data['location-region'] ) ? wp_strip_all_tags( (string)$data['location-region'] ) : NULL;
$schema['jobLocation']['address']['addressCountry'] = ! empty( $data['location-country'] ) ? wp_strip_all_tags( (string)$data['location-country'] ) : NULL;
}
if ( isset( $data['job-location-type'] ) && ! empty( $data['job-location-type'] ) ) {
$schema['jobLocationType'] = wp_strip_all_tags( $data['job-location-type'] );
}
$schema['jobLocationType'] = ! empty( $data['job-location-type'] ) ? wp_strip_all_tags( (string)$data['job-location-type'] ) : NULL;
if ( isset( $data['remote-location'] ) && ! empty( $data['remote-location'] ) ) {
foreach ( $data['remote-location'] as $key => $value ) {
$schema['applicantLocationRequirements'][ $key ]['@type'] = 'Country';
$schema['applicantLocationRequirements'][ $key ]['name'] = wp_strip_all_tags( $value['applicant-location'] );
$schema['applicantLocationRequirements'][ $key ]['name'] = wp_strip_all_tags( (string)$value['applicant-location'] );
}
} else {
if ( isset( $data['applicant-location'] ) && ! empty( $data['applicant-location'] ) ) {
$schema['applicantLocationRequirements']['@type'] = 'Country';
$schema['applicantLocationRequirements']['name'] = wp_strip_all_tags( $data['applicant-location'] );
$schema['applicantLocationRequirements']['name'] = wp_strip_all_tags( (string)$data['applicant-location'] );
}
}
if ( isset( $data['salary-currency'] ) && ! empty( $data['salary-currency'] ) ) {
$schema['baseSalary']['@type'] = 'MonetaryAmount';
$schema['baseSalary']['currency'] = wp_strip_all_tags( $data['salary-currency'] );
$schema['baseSalary']['currency'] = wp_strip_all_tags( (string)$data['salary-currency'] );
}
if ( ( isset( $data['salary'] ) && ! empty( $data['salary'] ) ) ||
@@ -146,18 +114,10 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Job_Posting' ) ) {
$schema['baseSalary']['@type'] = 'MonetaryAmount';
$schema['baseSalary']['value']['@type'] = 'QuantitativeValue';
if ( isset( $data['salary'] ) && ! empty( $data['salary'] ) ) {
$schema['baseSalary']['value']['value'] = wp_strip_all_tags( $data['salary'] );
}
if ( isset( $data['salary-min-value'] ) && ! empty( $data['salary-min-value'] ) ) {
$schema['baseSalary']['value']['minValue'] = wp_strip_all_tags( $data['salary-min-value'] );
}
if ( isset( $data['salary-max-value'] ) && ! empty( $data['salary-max-value'] ) ) {
$schema['baseSalary']['value']['maxValue'] = wp_strip_all_tags( $data['salary-max-value'] );
}
if ( isset( $data['salary-unit'] ) && ! empty( $data['salary-unit'] ) ) {
$schema['baseSalary']['value']['unitText'] = wp_strip_all_tags( $data['salary-unit'] );
}
$schema['baseSalary']['value']['value'] = ! empty( $data['salary'] ) ? wp_strip_all_tags( (string)$data['salary'] ) : NULL;
$schema['baseSalary']['value']['minValue'] = ! empty( $data['salary-min-value'] ) ? wp_strip_all_tags( (string)$data['salary-min-value'] ) : NULL;
$schema['baseSalary']['value']['maxValue'] = ! empty( $data['salary-max-value'] ) ? wp_strip_all_tags( (string)$data['salary-max-value'] ) : NULL;
$schema['baseSalary']['value']['unitText'] = ! empty( $data['salary-unit'] ) ? wp_strip_all_tags( (string)$data['salary-unit'] ) : NULL;
}
return apply_filters( 'wp_schema_pro_schema_job_posting', $schema, $data, $post );

View File

@@ -33,21 +33,15 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Local_Business' ) ) {
$schema['@type'] = 'LocalBusiness';
}
if ( isset( $data['name'] ) && ! empty( $data['name'] ) ) {
$schema['name'] = wp_strip_all_tags( $data['name'] );
}
$schema['name'] = ! empty( $data['name'] ) ? wp_strip_all_tags( (string)$data['name'] ) : NULL;
if ( isset( $data['image'] ) && ! empty( $data['image'] ) ) {
$schema['image'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $data['image'] );
}
if ( isset( $data['telephone'] ) && ! empty( $data['telephone'] ) ) {
$schema['telephone'] = wp_strip_all_tags( $data['telephone'] );
}
$schema['telephone'] = ! empty( $data['telephone'] ) ? wp_strip_all_tags( (string)$data['telephone'] ) : NULL;
if ( isset( $data['url'] ) && ! empty( $data['url'] ) ) {
$schema['url'] = wp_strip_all_tags( $data['url'] );
}
$schema['url'] = ! empty( $data['url'] ) ? wp_strip_all_tags( (string)$data['url'] ) : NULL;
if ( ( isset( $data['location-street'] ) && ! empty( $data['location-street'] ) ) ||
( isset( $data['location-locality'] ) && ! empty( $data['location-locality'] ) ) ||
@@ -57,39 +51,22 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Local_Business' ) ) {
$schema['address']['@type'] = 'PostalAddress';
if ( isset( $data['location-street'] ) && ! empty( $data['location-street'] ) ) {
$schema['address']['streetAddress'] = wp_strip_all_tags( $data['location-street'] );
}
if ( isset( $data['location-locality'] ) && ! empty( $data['location-locality'] ) ) {
$schema['address']['addressLocality'] = wp_strip_all_tags( $data['location-locality'] );
}
if ( isset( $data['location-postal'] ) && ! empty( $data['location-postal'] ) ) {
$schema['address']['postalCode'] = wp_strip_all_tags( $data['location-postal'] );
}
if ( isset( $data['location-region'] ) && ! empty( $data['location-region'] ) ) {
$schema['address']['addressRegion'] = wp_strip_all_tags( $data['location-region'] );
}
if ( isset( $data['location-country'] ) && ! empty( $data['location-country'] ) ) {
$schema['address']['addressCountry'] = wp_strip_all_tags( $data['location-country'] );
}
$schema['address']['streetAddress'] = ! empty( $data['location-street'] ) ? wp_strip_all_tags( (string)$data['location-street'] ) : NULL;
$schema['address']['addressLocality'] = ! empty( $data['location-locality'] ) ? wp_strip_all_tags( (string)$data['location-locality'] ) : NULL;
$schema['address']['postalCode'] = ! empty( $data['location-postal'] ) ? wp_strip_all_tags( (string)$data['location-postal'] ) : NULL;
$schema['address']['addressRegion'] = ! empty( $data['location-region'] ) ? wp_strip_all_tags( (string)$data['location-region'] ) : NULL;
$schema['address']['addressCountry'] = ! empty( $data['location-country'] ) ? wp_strip_all_tags( (string)$data['location-country'] ) : NULL;
}
if ( ( isset( $data['rating'] ) && ! empty( $data['rating'] ) ) ||
( isset( $data['review-count'] ) && ! empty( $data['review-count'] ) ) ) {
if ( ! empty( $data['rating'] ) && ! empty( $data['review-count'] ) && 'none' !== $data['rating'] && 'none' !== $data['review-count'] ) {
$schema['aggregateRating']['@type'] = 'AggregateRating';
if ( isset( $data['rating'] ) && ! empty( $data['rating'] ) ) {
$schema['aggregateRating']['ratingValue'] = wp_strip_all_tags( $data['rating'] );
}
if ( isset( $data['review-count'] ) && ! empty( $data['review-count'] ) ) {
$schema['aggregateRating']['reviewCount'] = wp_strip_all_tags( $data['review-count'] );
}
$schema['aggregateRating']['ratingValue'] = ! empty( $data['rating'] ) ? wp_strip_all_tags( (string)$data['rating'] ) : NULL;
$schema['aggregateRating']['reviewCount'] = ! empty( $data['review-count'] ) ? wp_strip_all_tags( (string)$data['review-count'] ) : NULL;
}
if ( isset( $data['price-range'] ) && ! empty( $data['price-range'] ) ) {
$schema['priceRange'] = wp_strip_all_tags( $data['price-range'] );
}
$schema['priceRange'] = ! empty( $data['price-range'] ) ? wp_strip_all_tags( (string)$data['price-range'] ) : NULL;
if ( isset( $data['hours-specification'] ) && ! empty( $data['hours-specification'] ) ) {
foreach ( $data['hours-specification'] as $key => $value ) {
@@ -103,8 +80,8 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Local_Business' ) ) {
}
if ( isset( $data['geo-latitude'] ) && isset( $data['geo-longitude'] ) ) {
$schema['geo']['@type'] = 'GeoCoordinates';
$schema['geo']['latitude'] = wp_strip_all_tags( $data['geo-latitude'] );
$schema['geo']['longitude'] = wp_strip_all_tags( $data['geo-longitude'] );
$schema['geo']['latitude'] = wp_strip_all_tags( (string)$data['geo-latitude'] );
$schema['geo']['longitude'] = wp_strip_all_tags( (string)$data['geo-longitude'] );
}
$contact_type = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-corporate-contact'];
@@ -115,30 +92,22 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Local_Business' ) ) {
if ( '1' === $contact_type['cp-schema-type'] && true === apply_filters( 'wp_schema_pro_contactpoint_local_business_schema_enabled', true ) && isset( $contact_type['contact-type'] ) && ! empty( $contact_type['contact-type'] ) ) {
$schema['ContactPoint']['@type'] = 'ContactPoint';
if ( isset( $contact_type['contact-type'] ) && ! empty( $contact_type['contact-type'] ) ) {
$schema ['ContactPoint']['contactType'] = wp_strip_all_tags( $contact_type['contact-type'] );
}
if ( isset( $contact_type['telephone'] ) && ! empty( $contact_type['telephone'] ) ) {
$schema ['ContactPoint']['telephone'] = wp_strip_all_tags( $contact_type['telephone'] );
}
$schema ['ContactPoint']['contactType'] = ! empty( $contact_type['contact-type'] ) ? wp_strip_all_tags( (string)$contact_type['contact-type'] ) : NULL;
$schema ['ContactPoint']['telephone'] = ! empty( $contact_type['telephone'] ) ? wp_strip_all_tags( (string)$contact_type['telephone'] ) : NULL;
if ( isset( $contact_type['url'] ) && ! empty( $contact_type['url'] ) ) {
$schema ['ContactPoint']['url'] = esc_url( $contact_type['url'] );
}
if ( isset( $contact_type['email'] ) && ! empty( $contact_type['email'] ) ) {
$schema ['ContactPoint']['email'] = wp_strip_all_tags( $contact_type['email'] );
}
$schema ['ContactPoint']['email'] = ! empty( $contact_type['email'] ) ? wp_strip_all_tags( (string)$contact_type['email'] ) : NULL;
if ( isset( $contact_type['areaServed'] ) && ! empty( $contact_type['areaServed'] ) ) {
$language = explode( ',', $contact_type['areaServed'] );
foreach ( $language as $key => $value ) {
$schema ['ContactPoint']['areaServed'][ $key ] = wp_strip_all_tags( $value );
$schema ['ContactPoint']['areaServed'][ $key ] = wp_strip_all_tags( (string)$value );
}
}
foreach ( $contact_point_type as $key => $value ) {
$schema ['ContactPoint']['contactOption'][ $key ] = wp_strip_all_tags( $value );
}
if ( isset( $contact_type['availableLanguage'] ) && ! empty( $contact_type['availableLanguage'] ) ) {
$schema ['ContactPoint']['availableLanguage'] = wp_strip_all_tags( $contact_type['availableLanguage'] );
$schema ['ContactPoint']['contactOption'][ $key ] = wp_strip_all_tags( (string)$value );
}
$schema ['ContactPoint']['availableLanguage'] = ! empty( $contact_type['availableLanguage'] ) ? wp_strip_all_tags( (string)$contact_type['availableLanguage'] ) : NULL;
}
return apply_filters( 'wp_schema_pro_schema_local_business', $schema, $data, $post );

View File

@@ -28,9 +28,7 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Person' ) ) {
$schema['@context'] = 'https://schema.org';
$schema['@type'] = 'Person';
if ( isset( $data['name'] ) && ! empty( $data['name'] ) ) {
$schema['name'] = wp_strip_all_tags( $data['name'] );
}
$schema['name'] = ! empty( $data['name'] ) ? wp_strip_all_tags( (string)$data['name'] ) : NULL;
if ( ( isset( $data['street'] ) && ! empty( $data['street'] ) ) ||
( isset( $data['locality'] ) && ! empty( $data['locality'] ) ) ||
@@ -39,55 +37,35 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Person' ) ) {
$schema['address']['@type'] = 'PostalAddress';
if ( isset( $data['locality'] ) && ! empty( $data['locality'] ) ) {
$schema['address']['addressLocality'] = wp_strip_all_tags( $data['locality'] );
}
$schema['address']['addressLocality'] = ! empty( $data['locality'] ) ? wp_strip_all_tags( (string)$data['locality'] ) : NULL;
if ( isset( $data['region'] ) && ! empty( $data['region'] ) ) {
$schema['address']['addressRegion'] = wp_strip_all_tags( $data['region'] );
}
$schema['address']['addressRegion'] = ! empty( $data['region'] ) ? wp_strip_all_tags( (string)$data['region'] ) : NULL;
if ( isset( $data['postal'] ) && ! empty( $data['postal'] ) ) {
$schema['address']['postalCode'] = wp_strip_all_tags( $data['postal'] );
}
$schema['address']['postalCode'] = ! empty( $data['postal'] ) ? wp_strip_all_tags( (string)$data['postal'] ) : NULL;
if ( isset( $data['street'] ) && ! empty( $data['street'] ) ) {
$schema['address']['streetAddress'] = wp_strip_all_tags( $data['street'] );
}
$schema['address']['streetAddress'] = ! empty( $data['street'] ) ? wp_strip_all_tags( (string)$data['street'] ) : NULL;
}
if ( isset( $data['email'] ) && ! empty( $data['email'] ) ) {
$schema['email'] = wp_strip_all_tags( $data['email'] );
}
$schema['email'] = ! empty( $data['email'] ) ? wp_strip_all_tags( (string)$data['email'] ) : NULL;
if ( isset( $data['gender'] ) && ! empty( $data['gender'] ) ) {
$schema['gender'] = wp_strip_all_tags( $data['gender'] );
}
$schema['gender'] = ! empty( $data['gender'] ) ? wp_strip_all_tags( (string)$data['gender'] ) : NULL;
if ( isset( $data['dob'] ) && ! empty( $data['dob'] ) ) {
$date_informat = gmdate( 'Y.m.d', strtotime( $data['dob'] ) );
$schema['birthDate'] = wp_strip_all_tags( $date_informat );
$schema['birthDate'] = wp_strip_all_tags( (string)$date_informat );
}
if ( isset( $data['member'] ) && ! empty( $data['member'] ) ) {
$schema['memberOf'] = wp_strip_all_tags( $data['member'] );
}
$schema['memberOf'] = ! empty( $data['member'] ) ? wp_strip_all_tags( (string)$data['member'] ) : NULL;
if ( isset( $data['nationality'] ) && ! empty( $data['nationality'] ) ) {
$schema['nationality'] = wp_strip_all_tags( $data['nationality'] );
}
$schema['nationality'] = ! empty( $data['nationality'] ) ? wp_strip_all_tags( (string)$data['nationality'] ) : NULL;
if ( isset( $data['image'] ) && ! empty( $data['image'] ) ) {
$schema['image'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $data['image'] );
}
if ( isset( $data['job-title'] ) && ! empty( $data['job-title'] ) ) {
$schema['jobTitle'] = wp_strip_all_tags( $data['job-title'] );
}
$schema['jobTitle'] = ! empty( $data['job-title'] ) ? wp_strip_all_tags( (string)$data['job-title'] ) : NULL;
if ( isset( $data['telephone'] ) && ! empty( $data['telephone'] ) ) {
$schema['telephone'] = wp_strip_all_tags( $data['telephone'] );
}
$schema['telephone'] = ! empty( $data['telephone'] ) ? wp_strip_all_tags( (string)$data['telephone'] ) : NULL;
if ( isset( $data['homepage-url'] ) && ! empty( $data['homepage-url'] ) ) {
$schema['url'] = esc_url( $data['homepage-url'] );
@@ -108,30 +86,22 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Person' ) ) {
if ( '1' === $contact_type['cp-schema-type'] && true === apply_filters( 'wp_schema_pro_contactpoint_person_schema_enabled', true ) && isset( $contact_type['contact-type'] ) && ! empty( $contact_type['contact-type'] ) ) {
$schema['ContactPoint']['@type'] = 'ContactPoint';
if ( isset( $contact_type['contact-type'] ) && ! empty( $contact_type['contact-type'] ) ) {
$schema ['ContactPoint']['contactType'] = wp_strip_all_tags( $contact_type['contact-type'] );
}
if ( isset( $contact_type['telephone'] ) && ! empty( $contact_type['telephone'] ) ) {
$schema ['ContactPoint']['telephone'] = wp_strip_all_tags( $contact_type['telephone'] );
}
$schema ['ContactPoint']['contactType'] = ! empty( $contact_type['contact-type'] ) ? wp_strip_all_tags( (string)$contact_type['contact-type'] ) : NULL;
$schema ['ContactPoint']['telephone'] = ! empty( $contact_type['telephone'] ) ? wp_strip_all_tags( (string)$contact_type['telephone'] ) : NULL;
if ( isset( $contact_type['url'] ) && ! empty( $contact_type['url'] ) ) {
$schema ['ContactPoint']['url'] = esc_url( $contact_type['url'] );
}
if ( isset( $contact_type['email'] ) && ! empty( $contact_type['email'] ) ) {
$schema ['ContactPoint']['email'] = wp_strip_all_tags( $contact_type['email'] );
}
$schema ['ContactPoint']['email'] = ! empty( $contact_type['email'] ) ? wp_strip_all_tags( (string)$contact_type['email'] ) : NULL;
if ( isset( $contact_type['areaServed'] ) && ! empty( $contact_type['areaServed'] ) ) {
$language = explode( ',', $contact_type['areaServed'] );
foreach ( $language as $key => $value ) {
$schema ['ContactPoint']['areaServed'][ $key ] = wp_strip_all_tags( $value );
$schema ['ContactPoint']['areaServed'][ $key ] = wp_strip_all_tags( (string)$value );
}
}
foreach ( $contact_point_type as $key => $value ) {
$schema ['ContactPoint']['contactOption'][ $key ] = wp_strip_all_tags( $value );
}
if ( isset( $contact_type['availableLanguage'] ) && ! empty( $contact_type['availableLanguage'] ) ) {
$schema ['ContactPoint']['availableLanguage'] = wp_strip_all_tags( $contact_type['availableLanguage'] );
$schema ['ContactPoint']['contactOption'][ $key ] = wp_strip_all_tags( (string)$value );
}
$schema ['ContactPoint']['availableLanguage'] = ! empty( $contact_type['availableLanguage'] ) ? wp_strip_all_tags( (string)$contact_type['availableLanguage'] ) : NULL;
}
return apply_filters( 'wp_schema_pro_schema_person', $schema, $data, $post );

View File

@@ -26,27 +26,19 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Product' ) ) {
$schema = array();
$schema['@context'] = 'https://schema.org';
$schema['@type'] = 'Product';
if ( isset( $data['name'] ) && ! empty( $data['name'] ) ) {
$schema['name'] = wp_strip_all_tags( $data['name'] );
}
$schema['name'] = ! empty( $data['name'] ) ? wp_strip_all_tags( (string)$data['name'] ) : NULL;
if ( isset( $data['image'] ) && ! empty( $data['image'] ) ) {
$schema['image'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $data['image'] );
}
if ( isset( $data['description'] ) && ! empty( $data['description'] ) ) {
$schema['description'] = wp_strip_all_tags( $data['description'] );
}
$schema['description'] = ! empty( $data['description'] ) ? wp_strip_all_tags( (string)$data['description'] ) : NULL;
if ( isset( $data['sku'] ) && ! empty( $data['sku'] ) ) {
$schema['sku'] = wp_strip_all_tags( $data['sku'] );
}
if ( isset( $data['mpn'] ) && ! empty( $data['mpn'] ) ) {
$schema['mpn'] = wp_strip_all_tags( $data['mpn'] );
}
if ( isset( $data['brand-name'] ) && ! empty( $data['brand-name'] ) ) {
$schema['sku'] = ! empty( $data['sku'] ) ? wp_strip_all_tags( (string)$data['sku'] ) : NULL;
$schema['mpn'] = ! empty( $data['mpn'] ) ? wp_strip_all_tags( (string)$data['mpn'] ) : NULL;
if ( ! empty( $data['brand-name'] ) ) {
$schema['brand']['@type'] = 'Brand';
$schema['brand']['name'] = wp_strip_all_tags( $data['brand-name'] );
$schema['brand']['name'] = wp_strip_all_tags( (string)$data['brand-name'] );
}
if ( ( isset( $data['rating'] ) && ! empty( $data['rating'] ) ) ||
@@ -54,22 +46,14 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Product' ) ) {
$schema['aggregateRating']['@type'] = 'AggregateRating';
if ( isset( $data['rating'] ) && ! empty( $data['rating'] ) ) {
$schema['aggregateRating']['ratingValue'] = wp_strip_all_tags( $data['rating'] );
}
if ( isset( $data['review-count'] ) && ! empty( $data['review-count'] ) ) {
$schema['aggregateRating']['reviewCount'] = wp_strip_all_tags( $data['review-count'] );
}
$schema['aggregateRating']['ratingValue'] = ! empty( $data['rating'] ) ? wp_strip_all_tags( (string)$data['rating'] ) : NULL;
$schema['aggregateRating']['reviewCount'] = ! empty( $data['review-count'] ) ? wp_strip_all_tags( (string)$data['review-count'] ) : NULL;
}
if ( apply_filters( 'wp_schema_pro_remove_product_offers', true ) ) {
$schema['offers']['@type'] = 'Offer';
$schema['offers']['price'] = '0';
if ( isset( $data['price'] ) && ! empty( $data['price'] ) ) {
$schema['offers']['price'] = wp_strip_all_tags( $data['price'] );
}
if ( isset( $data['price-valid-until'] ) && ! empty( $data['price-valid-until'] ) ) {
$schema['offers']['priceValidUntil'] = wp_strip_all_tags( $data['price-valid-until'] );
}
$schema['offers']['price'] = ! empty( $data['price'] ) ? wp_strip_all_tags( (string)$data['price'] ) : NULL;
$schema['offers']['priceValidUntil'] = ! empty( $data['price-valid-until'] ) ? wp_strip_all_tags( (string)$data['price-valid-until'] ) : NULL;
if ( isset( $data['url'] ) && ! empty( $data['url'] ) ) {
$schema['offers']['url'] = esc_url( $data['url'] );
@@ -78,12 +62,8 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Product' ) ) {
if ( ( isset( $data['currency'] ) && ! empty( $data['currency'] ) ) ||
( isset( $data['avail'] ) && ! empty( $data['avail'] ) ) ) {
if ( isset( $data['currency'] ) && ! empty( $data['currency'] ) ) {
$schema['offers']['priceCurrency'] = wp_strip_all_tags( $data['currency'] );
}
if ( isset( $data['avail'] ) && ! empty( $data['avail'] ) ) {
$schema['offers']['availability'] = wp_strip_all_tags( $data['avail'] );
}
$schema['offers']['priceCurrency'] = ! empty( $data['currency'] ) ? wp_strip_all_tags( (string)$data['currency'] ) : NULL;
$schema['offers']['availability'] = ! empty( $data['avail'] ) ? wp_strip_all_tags( (string)$data['avail'] ) : NULL;
}
}
@@ -91,23 +71,19 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Product' ) ) {
foreach ( $data['product-review'] as $key => $value ) {
if ( ( isset( $value['reviewer-name'] ) && ! empty( $value['reviewer-name'] ) ) && ( isset( $value['product-rating'] ) && ! empty( $value['product-rating'] ) ) ) {
$schema['review'][ $key ]['@type'] = 'Review';
if ( isset( $value['reviewer-name'] ) && ! empty( $value['reviewer-name'] ) ) {
$schema['review'][ $key ]['author']['name'] = wp_strip_all_tags( $value['reviewer-name'] );
if ( isset( $value['reviewer-type'] ) && ! empty( $value['reviewer-type'] ) ) {
$schema['review'][ $key ]['author']['@type'] = wp_strip_all_tags( $value['reviewer-type'] );
} else {
$schema['review'][ $key ]['author']['@type'] = 'Person';
}
$schema['review'][ $key ]['author']['name'] = wp_strip_all_tags( (string)$value['reviewer-name'] );
if ( isset( $value['reviewer-type'] ) && ! empty( $value['reviewer-type'] ) ) {
$schema['review'][ $key ]['author']['@type'] = wp_strip_all_tags( (string)$value['reviewer-type'] );
} else {
$schema['review'][ $key ]['author']['@type'] = 'Person';
}
if ( isset( $value['product-rating'] ) && ! empty( $value['product-rating'] ) ) {
$schema['review'][ $key ]['reviewRating']['@type'] = 'Rating';
$schema['review'][ $key ]['reviewRating']['ratingValue'] = wp_strip_all_tags( $value['product-rating'] );
$schema['review'][ $key ]['reviewRating']['ratingValue'] = wp_strip_all_tags( (string)$value['product-rating'] );
}
if ( isset( $value['review-body'] ) && ! empty( $value['review-body'] ) ) {
$schema['review'][ $key ]['reviewBody'] = wp_strip_all_tags( $value['review-body'] );
}
$schema['review'][ $key ]['reviewBody'] = ! empty( $value['review-body'] ) ? wp_strip_all_tags( (string)$value['review-body'] ) : NULL;
}
}
}

View File

@@ -28,70 +28,50 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Recipe' ) ) {
$schema['@context'] = 'https://schema.org';
$schema['@type'] = 'Recipe';
if ( isset( $data['name'] ) && ! empty( $data['name'] ) ) {
$schema['name'] = wp_strip_all_tags( $data['name'] );
}
$schema['name'] = ! empty( $data['name'] ) ? wp_strip_all_tags( (string)$data['name'] ) : NULL;
if ( isset( $data['image'] ) && ! empty( $data['image'] ) ) {
$schema['image'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $data['image'] );
}
if ( isset( $data['reviewer-type'] ) && ! empty( $data['reviewer-type'] ) ) {
$schema['author']['@type'] = wp_strip_all_tags( $data['reviewer-type'] );
$schema['author']['@type'] = wp_strip_all_tags( (string)$data['reviewer-type'] );
} else {
$schema['author']['@type'] = 'Person';
}
if ( isset( $data['author'] ) && ! empty( $data['author'] ) ) {
$schema['author']['name'] = wp_strip_all_tags( $data['author'] );
}
$schema['author']['name'] = ! empty( $data['author'] ) ? wp_strip_all_tags( (string)$data['author'] ) : NULL;
if ( isset( $data['description'] ) && ! empty( $data['description'] ) ) {
$schema['description'] = wp_strip_all_tags( $data['description'] );
}
$schema['description'] = ! empty( $data['description'] ) ? wp_strip_all_tags( (string)$data['description'] ) : NULL;
if ( isset( $data['preperation-time'] ) && ! empty( $data['preperation-time'] ) ) {
$schema['prepTime'] = wp_strip_all_tags( $data['preperation-time'] );
}
$schema['prepTime'] = ! empty( $data['preperation-time'] ) ? wp_strip_all_tags( (string)$data['preperation-time'] ) : NULL;
if ( isset( $data['cook-time'] ) && ! empty( $data['cook-time'] ) ) {
$schema['cookTime'] = wp_strip_all_tags( $data['cook-time'] );
}
$schema['cookTime'] = ! empty( $data['cook-time'] ) ? wp_strip_all_tags( (string)$data['cook-time'] ) : NULL;
if ( isset( $data['recipe-yield'] ) && ! empty( $data['recipe-yield'] ) ) {
$schema['recipeYield'] = esc_html( $data['recipe-yield'] );
}
if ( isset( $data['recipe-keywords'] ) && ! empty( $data['recipe-keywords'] ) ) {
$schema['keywords'] = wp_strip_all_tags( $data['recipe-keywords'] );
}
$schema['keywords'] = ! empty( $data['recipe-keywords'] ) ? wp_strip_all_tags( (string)$data['recipe-keywords'] ) : NULL;
if ( isset( $data['recipe-category'] ) && ! empty( $data['recipe-category'] ) ) {
$schema['recipeCategory'] = wp_strip_all_tags( $data['recipe-category'] );
}
$schema['recipeCategory'] = ! empty( $data['recipe-category'] ) ? wp_strip_all_tags( (string)$data['recipe-category'] ) : NULL;
if ( isset( $data['recipe-cuisine'] ) && ! empty( $data['recipe-cuisine'] ) ) {
$schema['recipeCuisine'] = wp_strip_all_tags( $data['recipe-cuisine'] );
}
$schema['recipeCuisine'] = ! empty( $data['recipe-cuisine'] ) ? wp_strip_all_tags( (string)$data['recipe-cuisine'] ) : NULL;
if ( ( isset( $data['rating'] ) && ! empty( $data['rating'] ) ) ||
( isset( $data['review-count'] ) && ! empty( $data['review-count'] ) ) ) {
$schema['aggregateRating']['@type'] = 'AggregateRating';
if ( isset( $data['rating'] ) && ! empty( $data['rating'] ) ) {
$schema['aggregateRating']['ratingValue'] = wp_strip_all_tags( $data['rating'] );
}
if ( isset( $data['review-count'] ) && ! empty( $data['review-count'] ) ) {
$schema['aggregateRating']['reviewCount'] = wp_strip_all_tags( $data['review-count'] );
}
$schema['aggregateRating']['ratingValue'] = ! empty( $data['rating'] ) ? wp_strip_all_tags( (string)$data['rating'] ) : NULL;
$schema['aggregateRating']['reviewCount'] = ! empty( $data['review-count'] ) ? wp_strip_all_tags( (string)$data['review-count'] ) : NULL;
}
if ( isset( $data['nutrition'] ) && ! empty( $data['nutrition'] ) ) {
$schema['nutrition']['@type'] = 'NutritionInformation';
$schema['nutrition']['calories'] = wp_strip_all_tags( $data['nutrition'] );
$schema['nutrition']['calories'] = wp_strip_all_tags( (string)$data['nutrition'] );
}
if ( isset( $data['ingredients'] ) && ! empty( $data['ingredients'] ) ) {
$recipe_ingredients = explode( ',', $data['ingredients'] );
foreach ( $recipe_ingredients as $key => $value ) {
$schema['recipeIngredient'][ $key ] = wp_strip_all_tags( $value );
$schema['recipeIngredient'][ $key ] = wp_strip_all_tags( (string)$value );
}
}
@@ -101,14 +81,9 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Recipe' ) ) {
if ( isset( $value['steps'] ) && ! empty( $value['steps'] ) ) {
$schema['recipeInstructions'][ $key ]['@type'] = 'HowToStep';
$schema['recipeInstructions'][ $key ]['text'] = wp_strip_all_tags( $value['steps'] );
if ( isset( $value['name'] ) && ! empty( $value['name'] ) ) {
$schema['recipeInstructions'][ $key ]['name'] = wp_strip_all_tags( $value['name'] );
}
if ( isset( $value['url'] ) && ! empty( $value['url'] ) ) {
$schema['recipeInstructions'][ $key ]['url'] = wp_strip_all_tags( $value['url'] );
}
$schema['recipeInstructions'][ $key ]['text'] = wp_strip_all_tags( (string)$value['steps'] );
$schema['recipeInstructions'][ $key ]['name'] = ! empty( $value['name'] ) ? wp_strip_all_tags( (string)$value['name'] ) : NULL;
$schema['recipeInstructions'][ $key ]['url'] = ! empty( $value['url'] ) ? wp_strip_all_tags( (string)$value['url'] ) : NULL;
if ( isset( $value['image'] ) && ! empty( $value['image'] ) ) {
$schema['recipeInstructions'][ $key ]['image'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $value['image'], 'URL' );
}
@@ -121,13 +96,8 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Recipe' ) ) {
foreach ( $data['recipe-video'] as $key => $value ) {
if ( isset( $value['video-name'] ) && ! empty( $value['video-name'] ) ) {
$schema['video'][ $key ]['@type'] = 'VideoObject';
if ( isset( $value['video-name'] ) && ! empty( $value['video-name'] ) ) {
$schema['video'][ $key ]['name'] = wp_strip_all_tags( $value['video-name'] );
}
if ( isset( $value['video-desc'] ) && ! empty( $value['video-desc'] ) ) {
$schema['video'][ $key ]['description'] = wp_strip_all_tags( $value['video-desc'] );
}
$schema['video'][ $key ]['name'] = wp_strip_all_tags( (string)$value['video-name'] );
$schema['video'][ $key ]['description'] = ! empty( $value['video-desc'] ) ? wp_strip_all_tags( (string)$value['video-desc'] ) : NULL;
if ( isset( $value['video-image'] ) && ! empty( $value['video-image'] ) ) {
$schema['video'][ $key ]['thumbnailUrl'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $value['video-image'], 'URL' );
}
@@ -137,16 +107,10 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Recipe' ) ) {
if ( isset( $value['recipe-video-embed-url'] ) && ! empty( $value['recipe-video-embed-url'] ) ) {
$schema['video'][ $key ]['embedUrl'] = esc_url( $value['recipe-video-embed-url'] );
}
if ( isset( $value['recipe-video-duration'] ) && ! empty( $value['recipe-video-duration'] ) ) {
$schema['video'][ $key ]['duration'] = wp_strip_all_tags( $value['recipe-video-duration'] );
}
if ( isset( $value['recipe-video-upload-date'] ) && ! empty( $value['recipe-video-upload-date'] ) ) {
$schema['video'][ $key ]['uploadDate'] = wp_strip_all_tags( $value['recipe-video-upload-date'] );
}
if ( isset( $value['recipe-video-interaction-count'] ) && ! empty( $value['recipe-video-interaction-count'] ) ) {
$schema['video'][ $key ]['interactionCount'] = wp_strip_all_tags( $value['recipe-video-interaction-count'] );
}
if ( isset( $value['recipe-video-expires-date'] ) && ! empty( $value['recipe-video-expires-date'] ) ) {
$schema['video'][ $key ]['duration'] = ! empty( $value['recipe-video-duration'] ) ? wp_strip_all_tags( (string)$value['recipe-video-duration'] ) : NULL;
$schema['video'][ $key ]['uploadDate'] = ! empty( $value['recipe-video-upload-date'] ) ? wp_strip_all_tags( (string)$value['recipe-video-upload-date'] ) : NULL;
$schema['video'][ $key ]['interactionCount'] = ! empty( $value['recipe-video-interaction-count'] ) ? wp_strip_all_tags( (string)$value['recipe-video-interaction-count'] ) : NULL;
if ( isset( $value['recipe-video-expires-date'] ) && ! empty( $value['recipe-video-expires-date'] ) && is_string( $value['recipe-video-expires-date'] ) ) {
$schema['video'][ $key ]['expires'] = wp_strip_all_tags( $value['recipe-video-expires-date'] );
}
}

View File

@@ -34,23 +34,15 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Review' ) ) {
switch ( $data['schema-type'] ) {
case 'bsf-aiosrs-book':
$schema['itemReviewed']['@type'] = 'Book';
if ( isset( $data['bsf-aiosrs-book-name'] ) && ! empty( $data['bsf-aiosrs-book-name'] ) ) {
$schema['itemReviewed']['name'] = wp_strip_all_tags( $data['bsf-aiosrs-book-name'] );
}
$schema['itemReviewed']['name'] = ! empty( $data['bsf-aiosrs-book-name'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-book-name'] ) : NULL;
if ( isset( $data['bsf-aiosrs-book-author'] ) && ! empty( $data['bsf-aiosrs-book-author'] ) ) {
$schema['itemReviewed']['author']['@type'] = 'Person';
$schema['itemReviewed']['author']['name'] = wp_strip_all_tags( $data['bsf-aiosrs-book-author'] );
$schema['itemReviewed']['author']['sameAs'] = wp_strip_all_tags( $data['bsf-aiosrs-book-same-As'] );
$schema['itemReviewed']['author']['name'] = wp_strip_all_tags( (string)$data['bsf-aiosrs-book-author'] );
$schema['itemReviewed']['author']['sameAs'] = wp_strip_all_tags( (string)$data['bsf-aiosrs-book-same-As'] );
}
if ( isset( $data['bsf-aiosrs-book-serial-number'] ) && ! empty( $data['bsf-aiosrs-book-serial-number'] ) ) {
$schema['itemReviewed']['isbn'] = wp_strip_all_tags( $data['bsf-aiosrs-book-serial-number'] );
}
if ( isset( $data['bsf-aiosrs-book-description'] ) && ! empty( $data['bsf-aiosrs-book-description'] ) ) {
$schema['description'] = wp_strip_all_tags( $data['bsf-aiosrs-book-description'] );
}
$schema['itemReviewed']['isbn'] = ! empty( $data['bsf-aiosrs-book-serial-number'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-book-serial-number'] ) : NULL;
$schema['description'] = ! empty( $data['bsf-aiosrs-book-description'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-book-description'] ) : NULL;
$book_url = get_permalink( $post['ID'] );
if ( isset( $book_url ) && ! empty( $book_url ) ) {
$schema['url'] = esc_url( $book_url );
@@ -58,52 +50,34 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Review' ) ) {
break;
case 'bsf-aiosrs-course':
$schema['itemReviewed']['@type'] = 'Course';
if ( isset( $data['bsf-aiosrs-course-name'] ) && ! empty( $data['bsf-aiosrs-course-name'] ) ) {
$schema['itemReviewed']['name'] = wp_strip_all_tags( $data['bsf-aiosrs-course-name'] );
}
if ( isset( $data['bsf-aiosrs-course-description'] ) && ! empty( $data['bsf-aiosrs-course-description'] ) ) {
$schema['itemReviewed']['description'] = wp_strip_all_tags( $data['bsf-aiosrs-course-description'] );
}
$schema['itemReviewed']['name'] = ! empty( $data['bsf-aiosrs-course-name'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-course-name'] ) : NULL;
$schema['itemReviewed']['description'] = ! empty( $data['bsf-aiosrs-course-description'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-course-description'] ) : NULL;
if ( isset( $data['bsf-aiosrs-course-orgnization-name'] ) && ! empty( $data['bsf-aiosrs-course-orgnization-name'] ) ) {
$schema['itemReviewed']['provider']['@type'] = 'Organization';
$schema['itemReviewed']['provider']['name'] = wp_strip_all_tags( $data['bsf-aiosrs-course-orgnization-name'] );
$schema['itemReviewed']['provider']['name'] = wp_strip_all_tags( (string)$data['bsf-aiosrs-course-orgnization-name'] );
}
break;
case 'bsf-aiosrs-event':
$schema['itemReviewed']['@type'] = 'event';
if ( isset( $data['bsf-aiosrs-event-name'] ) && ! empty( $data['bsf-aiosrs-event-name'] ) ) {
$schema['itemReviewed']['name'] = wp_strip_all_tags( $data['bsf-aiosrs-event-name'] );
}
if ( isset( $data['bsf-aiosrs-event-description'] ) && ! empty( $data['bsf-aiosrs-event-description'] ) ) {
$schema['itemReviewed']['description'] = wp_strip_all_tags( $data['bsf-aiosrs-event-description'] );
}
$schema['itemReviewed']['name'] = ! empty( $data['bsf-aiosrs-event-name'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-event-name'] ) : NULL;
$schema['itemReviewed']['description'] = ! empty( $data['bsf-aiosrs-event-description'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-event-description'] ) : NULL;
if ( isset( $data['bsf-aiosrs-event-image'] ) && ! empty( $data['bsf-aiosrs-event-image'] ) ) {
$schema['itemReviewed']['image'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $data['bsf-aiosrs-event-image'] );
}
if ( isset( $data['bsf-aiosrs-event-start-date'] ) && ! empty( $data['bsf-aiosrs-event-start-date'] ) ) {
if ( 'OfflineEventAttendanceMode' !== $data['bsf-aiosrs-event-event-attendance-mode'] ) {
$start_date = gmdate( DATE_ISO8601, strtotime( $data['bsf-aiosrs-event-start-date'] ) );
$schema['itemReviewed']['startDate'] = wp_strip_all_tags( $start_date );
$schema['itemReviewed']['startDate'] = wp_strip_all_tags( (string)$start_date );
} else {
$schema['itemReviewed']['startDate'] = wp_strip_all_tags( $data['bsf-aiosrs-event-start-date'] );
$schema['itemReviewed']['startDate'] = wp_strip_all_tags( (string)$data['bsf-aiosrs-event-start-date'] );
}
}
if ( isset( $data['bsf-aiosrs-event-end-date'] ) && ! empty( $data['bsf-aiosrs-event-end-date'] ) ) {
$schema['itemReviewed']['endDate'] = wp_strip_all_tags( $data['bsf-aiosrs-event-end-date'] );
}
if ( isset( $data['bsf-aiosrs-event-event-status'] ) && ! empty( $data['bsf-aiosrs-event-event-status'] ) ) {
$schema['itemReviewed']['eventStatus'] = wp_strip_all_tags( $data['bsf-aiosrs-event-event-status'] );
}
$schema['itemReviewed']['endDate'] = ! empty( $data['bsf-aiosrs-event-end-date'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-event-end-date'] ) : NULL;
$schema['itemReviewed']['eventStatus'] = ! empty( $data['bsf-aiosrs-event-event-status'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-event-event-status'] ) : NULL;
if ( isset( $data['bsf-aiosrs-event-event-attendance-mode'] ) && ! empty( $data['bsf-aiosrs-event-event-attendance-mode'] ) ) {
$schema['itemReviewed']['eventAttendanceMode'] = wp_strip_all_tags( $data['bsf-aiosrs-event-event-attendance-mode'] );
}
$schema['itemReviewed']['eventAttendanceMode'] = ! empty( $data['bsf-aiosrs-event-event-attendance-mode'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-event-event-attendance-mode'] ) : NULL;
if ( isset( $data['bsf-aiosrs-event-previous-date'] ) && ! empty( $data['bsf-aiosrs-event-previous-date'] ) && 'EventRescheduled' === $data['bsf-aiosrs-event-event-status'] ) {
$schema['itemReviewed']['previousStartDate'] = wp_strip_all_tags( $data['bsf-aiosrs-event-previous-date'] );
}
$schema['itemReviewed']['previousStartDate'] = ! empty( $data['bsf-aiosrs-event-previous-date'] ) && 'EventRescheduled' === $data['bsf-aiosrs-event-event-status'] ? wp_strip_all_tags( (string)$data['bsf-aiosrs-event-previous-date'] ) : NULL;
if ( isset( $data['bsf-aiosrs-event-online-location'] ) && ! empty( $data['bsf-aiosrs-event-online-location'] ) &&
( 'OfflineEventAttendanceMode' !== $data['bsf-aiosrs-event-event-attendance-mode'] ) ||
( 'MixedEventAttendanceMode' === $data['bsf-aiosrs-event-event-attendance-mode'] ) ) {
@@ -112,11 +86,11 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Review' ) ) {
}
if ( isset( $data['bsf-aiosrs-event-performer'] ) && ! empty( $data['bsf-aiosrs-event-performer'] ) ) {
$schema['itemReviewed']['performer']['@type'] = 'Person';
$schema['itemReviewed']['performer']['name'] = wp_strip_all_tags( $data['bsf-aiosrs-event-performer'] );
$schema['itemReviewed']['performer']['name'] = wp_strip_all_tags( (string)$data['bsf-aiosrs-event-performer'] );
}
if ( isset( $data['bsf-aiosrs-event-location'] ) && ! empty( $data['bsf-aiosrs-event-location'] ) && 'OnlineEventAttendanceMode' !== $data['bsf-aiosrs-event-event-attendance-mode'] ) {
$schema['itemReviewed']['location']['@type'] = 'Place';
$schema['itemReviewed']['location']['name'] = wp_strip_all_tags( $data['bsf-aiosrs-event-location'] );
$schema['itemReviewed']['location']['name'] = wp_strip_all_tags( (string)$data['bsf-aiosrs-event-location'] );
}
if ( ( ( isset( $data['bsf-aiosrs-event-location-street'] ) && ! empty( $data['bsf-aiosrs-event-location-street'] ) ) ||
( isset( $data['bsf-aiosrs-event-location-locality'] ) && ! empty( $data['bsf-aiosrs-event-location-locality'] ) ) ||
@@ -125,21 +99,11 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Review' ) ) {
( isset( $data['bsf-aiosrs-event-location-country'] ) && ! empty( $data['bsf-aiosrs-event-location-country'] ) ) ) && ( 'OnlineEventAttendanceMode' !== $data['bsf-aiosrs-event-event-attendance-mode'] ) ) {
$schema['itemReviewed']['location']['address']['@type'] = 'PostalAddress';
if ( isset( $data['bsf-aiosrs-event-location-street'] ) && ! empty( $data['bsf-aiosrs-event-location-street'] ) ) {
$schema['itemReviewed']['location']['address']['streetAddress'] = wp_strip_all_tags( $data['bsf-aiosrs-event-location-street'] );
}
if ( isset( $data['bsf-aiosrs-event-location-locality'] ) && ! empty( $data['bsf-aiosrs-event-location-locality'] ) ) {
$schema['itemReviewed']['location']['address']['addressLocality'] = wp_strip_all_tags( $data['bsf-aiosrs-event-location-locality'] );
}
if ( isset( $data['bsf-aiosrs-event-location-postal'] ) && ! empty( $data['bsf-aiosrs-event-location-postal'] ) ) {
$schema['itemReviewed']['location']['address']['postalCode'] = wp_strip_all_tags( $data['bsf-aiosrs-event-location-postal'] );
}
if ( isset( $data['bsf-aiosrs-event-location-region'] ) && ! empty( $data['bsf-aiosrs-event-location-region'] ) ) {
$schema['itemReviewed']['location']['address']['addressRegion'] = wp_strip_all_tags( $data['bsf-aiosrs-event-location-region'] );
}
if ( isset( $data['bsf-aiosrs-event-location-country'] ) && ! empty( $data['bsf-aiosrs-event-location-country'] ) ) {
$schema['itemReviewed']['location']['address']['addressCountry'] = wp_strip_all_tags( $data['bsf-aiosrs-event-location-country'] );
}
$schema['itemReviewed']['location']['address']['streetAddress'] = ! empty( $data['bsf-aiosrs-event-location-street'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-event-location-street'] ) : NULL;
$schema['itemReviewed']['location']['address']['addressLocality'] = ! empty( $data['bsf-aiosrs-event-location-locality'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-event-location-locality'] ) : NULL;
$schema['itemReviewed']['location']['address']['postalCode'] = ! empty( $data['bsf-aiosrs-event-location-postal'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-event-location-postal'] ) : NULL;
$schema['itemReviewed']['location']['address']['addressRegion'] = ! empty( $data['bsf-aiosrs-event-location-region'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-event-location-region'] ) : NULL;
$schema['itemReviewed']['location']['address']['addressCountry'] = ! empty( $data['bsf-aiosrs-event-location-country'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-event-location-country'] ) : NULL;
}
$schema['itemReviewed']['offers']['@type'] = 'Offer';
@@ -150,27 +114,17 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Review' ) ) {
if ( isset( $data['bsf-aiosrs-event-ticket-buy-url'] ) && ! empty( $data['bsf-aiosrs-event-ticket-buy-url'] ) ) {
$schema['itemReviewed']['offers']['url'] = esc_url( $data['bsf-aiosrs-event-ticket-buy-url'] );
}
if ( isset( $data['bsf-aiosrs-event-price'] ) && ! empty( $data['bsf-aiosrs-event-price'] ) ) {
$schema['itemReviewed']['offers']['price'] = wp_strip_all_tags( $data['bsf-aiosrs-event-price'] );
}
if ( isset( $data['bsf-aiosrs-event-avail'] ) && ! empty( $data['bsf-aiosrs-event-avail'] ) ) {
$schema['itemReviewed']['offers']['availability'] = wp_strip_all_tags( $data['bsf-aiosrs-event-avail'] );
}
if ( isset( $data['bsf-aiosrs-event-currency'] ) && ! empty( $data['bsf-aiosrs-event-currency'] ) ) {
$schema['itemReviewed']['offers']['priceCurrency'] = wp_strip_all_tags( $data['bsf-aiosrs-event-currency'] );
}
if ( isset( $data['bsf-aiosrs-event-valid-from'] ) && ! empty( $data['bsf-aiosrs-event-valid-from'] ) ) {
$schema['itemReviewed']['offers']['validFrom'] = wp_strip_all_tags( $data['bsf-aiosrs-event-valid-from'] );
}
$schema['itemReviewed']['offers']['price'] = ! empty( $data['bsf-aiosrs-event-price'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-event-price'] ) : NULL;
$schema['itemReviewed']['offers']['availability'] = ! empty( $data['bsf-aiosrs-event-avail'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-event-avail'] ) : NULL;
$schema['itemReviewed']['offers']['priceCurrency'] = ! empty( $data['bsf-aiosrs-event-currency'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-event-currency'] ) : NULL;
$schema['itemReviewed']['offers']['validFrom'] = ! empty( $data['bsf-aiosrs-event-valid-from'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-event-valid-from'] ) : NULL;
}
if ( ( isset( $data['bsf-aiosrs-event-event-organizer-name'] ) && ! empty( $data['bsf-aiosrs-event-event-organizer-name'] ) ) ||
( isset( $data['bsf-aiosrs-event-event-organizer-url'] ) && ! empty( $data['bsf-aiosrs-event-event-organizer-url'] ) ) ) {
$schema['itemReviewed']['organizer']['@type'] = 'Organization';
if ( isset( $data['bsf-aiosrs-event-event-organizer-name'] ) && ! empty( $data['bsf-aiosrs-event-event-organizer-name'] ) ) {
$schema['itemReviewed']['organizer']['name'] = wp_strip_all_tags( $data['bsf-aiosrs-event-event-organizer-name'] );
}
$schema['itemReviewed']['organizer']['name'] = ! empty( $data['bsf-aiosrs-event-event-organizer-name'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-event-event-organizer-name'] ) : NULL;
if ( isset( $data['bsf-aiosrs-event-event-organizer-url'] ) && ! empty( $data['bsf-aiosrs-event-event-organizer-url'] ) ) {
$schema['itemReviewed']['organizer']['url'] = esc_url( $data['bsf-aiosrs-event-event-organizer-url'] );
}
@@ -178,16 +132,12 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Review' ) ) {
break;
case 'bsf-aiosrs-local-business':
$schema['itemReviewed']['@type'] = 'LocalBusiness';
if ( isset( $data['bsf-aiosrs-local-business-name'] ) && ! empty( $data['bsf-aiosrs-local-business-name'] ) ) {
$schema['itemReviewed']['name'] = wp_strip_all_tags( $data['bsf-aiosrs-local-business-name'] );
}
$schema['itemReviewed']['name'] = ! empty( $data['bsf-aiosrs-local-business-name'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-local-business-name'] ) : NULL;
if ( isset( $data['bsf-aiosrs-local-business-image'] ) && ! empty( $data['bsf-aiosrs-local-business-image'] ) ) {
$schema['itemReviewed']['image'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $data['bsf-aiosrs-local-business-image'] );
}
if ( isset( $data['bsf-aiosrs-local-business-telephone'] ) && ! empty( $data['bsf-aiosrs-local-business-telephone'] ) ) {
$schema['itemReviewed']['telephone'] = wp_strip_all_tags( $data['bsf-aiosrs-local-business-telephone'] );
}
$schema['itemReviewed']['telephone'] = ! empty( $data['bsf-aiosrs-local-business-telephone'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-local-business-telephone'] ) : NULL;
if ( ( isset( $data['bsf-aiosrs-local-business-location-street'] ) && ! empty( $data['bsf-aiosrs-local-business-location-street'] ) ) ||
( isset( $data['bsf-aiosrs-local-business-location-locality'] ) && ! empty( $data['bsf-aiosrs-local-business-location-locality'] ) ) ||
( isset( $data['bsf-aiosrs-local-business-location-postal'] ) && ! empty( $data['bsf-aiosrs-local-business-location-postal'] ) ) ||
@@ -196,74 +146,44 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Review' ) ) {
$schema['itemReviewed']['address']['@type'] = 'PostalAddress';
if ( isset( $data['bsf-aiosrs-local-business-location-street'] ) && ! empty( $data['bsf-aiosrs-local-business-location-street'] ) ) {
$schema['itemReviewed']['address']['streetAddress'] = wp_strip_all_tags( $data['bsf-aiosrs-local-business-location-street'] );
}
if ( isset( $data['bsf-aiosrs-local-business-location-locality'] ) && ! empty( $data['bsf-aiosrs-local-business-location-locality'] ) ) {
$schema['itemReviewed']['address']['addressLocality'] = wp_strip_all_tags( $data['bsf-aiosrs-local-business-location-locality'] );
}
if ( isset( $data['bsf-aiosrs-local-business-location-postal'] ) && ! empty( $data['bsf-aiosrs-local-business-location-postal'] ) ) {
$schema['itemReviewed']['address']['postalCode'] = wp_strip_all_tags( $data['bsf-aiosrs-local-business-location-postal'] );
}
if ( isset( $data['bsf-aiosrs-local-business-location-region'] ) && ! empty( $data['bsf-aiosrs-local-business-location-region'] ) ) {
$schema['itemReviewed']['address']['addressRegion'] = wp_strip_all_tags( $data['bsf-aiosrs-local-business-location-region'] );
}
if ( isset( $data['bsf-aiosrs-local-business-location-country'] ) && ! empty( $data['bsf-aiosrs-local-business-location-country'] ) ) {
$schema['itemReviewed']['address']['addressCountry'] = wp_strip_all_tags( $data['bsf-aiosrs-local-business-location-country'] );
}
}
if ( isset( $data['bsf-aiosrs-local-business-price-range'] ) && ! empty( $data['bsf-aiosrs-local-business-price-range'] ) ) {
$schema['itemReviewed']['priceRange'] = wp_strip_all_tags( $data['bsf-aiosrs-local-business-price-range'] );
$schema['itemReviewed']['address']['streetAddress'] = ! empty( $data['bsf-aiosrs-local-business-location-street'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-local-business-location-street'] ) : NULL;
$schema['itemReviewed']['address']['addressLocality'] = ! empty( $data['bsf-aiosrs-local-business-location-locality'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-local-business-location-locality'] ) : NULL;
$schema['itemReviewed']['address']['postalCode'] = ! empty( $data['bsf-aiosrs-local-business-location-postal'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-local-business-location-postal'] ) : NULL;
$schema['itemReviewed']['address']['addressRegion'] = ! empty( $data['bsf-aiosrs-local-business-location-region'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-local-business-location-region'] ) : NULL;
$schema['itemReviewed']['address']['addressCountry'] = ! empty( $data['bsf-aiosrs-local-business-location-country'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-local-business-location-country'] ) : NULL;
}
$schema['itemReviewed']['priceRange'] = ! empty( $data['bsf-aiosrs-local-business-price-range'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-local-business-price-range'] ) : NULL;
break;
case 'bsf-aiosrs-recipe':
$schema['itemReviewed']['@type'] = 'Recipe';
if ( isset( $data['bsf-aiosrs-recipe-name'] ) && ! empty( $data['bsf-aiosrs-recipe-name'] ) ) {
$schema['itemReviewed']['name'] = wp_strip_all_tags( $data['bsf-aiosrs-recipe-name'] );
}
$schema['itemReviewed']['name'] = ! empty( $data['bsf-aiosrs-recipe-name'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-recipe-name'] ) : NULL;
if ( isset( $data['bsf-aiosrs-recipe-image'] ) && ! empty( $data['bsf-aiosrs-recipe-image'] ) ) {
$schema['itemReviewed']['image'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $data['bsf-aiosrs-recipe-image'] );
}
if ( isset( $data['bsf-aiosrs-recipe-author'] ) && ! empty( $data['bsf-aiosrs-recipe-author'] ) ) {
$schema['itemReviewed']['author']['@type'] = 'Person';
$schema['itemReviewed']['author']['name'] = wp_strip_all_tags( $data['bsf-aiosrs-recipe-author'] );
}
if ( isset( $data['bsf-aiosrs-recipe-description'] ) && ! empty( $data['bsf-aiosrs-recipe-description'] ) ) {
$schema['itemReviewed']['description'] = wp_strip_all_tags( $data['bsf-aiosrs-recipe-description'] );
}
if ( isset( $data['bsf-aiosrs-recipe-preperation-time'] ) && ! empty( $data['bsf-aiosrs-recipe-preperation-time'] ) ) {
$schema['itemReviewed']['prepTime'] = wp_strip_all_tags( $data['bsf-aiosrs-recipe-preperation-time'] );
}
if ( isset( $data['bsf-aiosrs-recipe-cook-time'] ) && ! empty( $data['bsf-aiosrs-recipe-cook-time'] ) ) {
$schema['itemReviewed']['cookTime'] = wp_strip_all_tags( $data['bsf-aiosrs-recipe-cook-time'] );
}
if ( isset( $data['bsf-aiosrs-recipe-recipe-keywords'] ) && ! empty( $data['bsf-aiosrs-recipe-recipe-keywords'] ) ) {
$schema['itemReviewed']['keywords'] = wp_strip_all_tags( $data['bsf-aiosrs-recipe-recipe-keywords'] );
}
if ( isset( $data['bsf-aiosrs-recipe-recipe-category'] ) && ! empty( $data['bsf-aiosrs-recipe-recipe-category'] ) ) {
$schema['itemReviewed']['recipeCategory'] = wp_strip_all_tags( $data['bsf-aiosrs-recipe-recipe-category'] );
}
if ( isset( $data['bsf-aiosrs-recipe-recipe-cuisine'] ) && ! empty( $data['bsf-aiosrs-recipe-recipe-cuisine'] ) ) {
$schema['itemReviewed']['recipeCuisine'] = wp_strip_all_tags( $data['bsf-aiosrs-recipe-recipe-cuisine'] );
$schema['itemReviewed']['author']['name'] = wp_strip_all_tags( (string)$data['bsf-aiosrs-recipe-author'] );
}
$schema['itemReviewed']['description'] = ! empty( $data['bsf-aiosrs-recipe-description'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-recipe-description'] ) : NULL;
$schema['itemReviewed']['prepTime'] = ! empty( $data['bsf-aiosrs-recipe-preperation-time'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-recipe-preperation-time'] ) : NULL;
$schema['itemReviewed']['cookTime'] = ! empty( $data['bsf-aiosrs-recipe-cook-time'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-recipe-cook-time'] ) : NULL;
$schema['itemReviewed']['keywords'] = ! empty( $data['bsf-aiosrs-recipe-recipe-keywords'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-recipe-recipe-keywords'] ) : NULL;
$schema['itemReviewed']['recipeCategory'] = ! empty( $data['bsf-aiosrs-recipe-recipe-category'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-recipe-recipe-category'] ) : NULL;
$schema['itemReviewed']['recipeCuisine'] = ! empty( $data['bsf-aiosrs-recipe-recipe-cuisine'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-recipe-recipe-cuisine'] ) : NULL;
if ( ( isset( $data['bsf-aiosrs-recipe-rating'] ) && ! empty( $data['bsf-aiosrs-recipe-rating'] ) ) ||
( isset( $data['review-count'] ) && ! empty( $data['review-count'] ) ) ) {
$schema['itemReviewed']['aggregateRating']['@type'] = 'AggregateRating';
if ( isset( $data['bsf-aiosrs-recipe-rating'] ) && ! empty( $data['bsf-aiosrs-recipe-rating'] ) ) {
$schema['itemReviewed']['aggregateRating']['ratingValue'] = wp_strip_all_tags( $data['bsf-aiosrs-recipe-rating'] );
}
if ( isset( $data['bsf-aiosrs-recipe-review-count'] ) && ! empty( $data['bsf-aiosrs-recipe-review-count'] ) ) {
$schema['itemReviewed']['aggregateRating']['reviewCount'] = wp_strip_all_tags( $data['bsf-aiosrs-recipe-review-count'] );
}
$schema['itemReviewed']['aggregateRating']['ratingValue'] = ! empty( $data['bsf-aiosrs-recipe-rating'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-recipe-rating'] ) : NULL;
$schema['itemReviewed']['aggregateRating']['reviewCount'] = ! empty( $data['bsf-aiosrs-recipe-review-count'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-recipe-review-count'] ) : NULL;
}
if ( isset( $data['bsf-aiosrs-recipe-nutrition'] ) && ! empty( $data['bsf-aiosrs-recipe-nutrition'] ) ) {
$schema['itemReviewed']['nutrition']['@type'] = 'NutritionInformation';
$schema['itemReviewed']['nutrition']['calories'] = wp_strip_all_tags( $data['bsf-aiosrs-recipe-nutrition'] );
$schema['itemReviewed']['nutrition']['calories'] = wp_strip_all_tags( (string)$data['bsf-aiosrs-recipe-nutrition'] );
}
if ( isset( $data['bsf-aiosrs-recipe-ingredients'] ) && ! empty( $data['bsf-aiosrs-recipe-ingredients'] ) ) {
$recipe_ingredients = explode( ',', $data['bsf-aiosrs-recipe-ingredients'] );
foreach ( $recipe_ingredients as $key => $value ) {
$schema['itemReviewed']['recipeIngredient'][ $key ] = wp_strip_all_tags( $value );
$schema['itemReviewed']['recipeIngredient'][ $key ] = wp_strip_all_tags( (string)$value );
}
}
if ( isset( $data['bsf-aiosrs-recipe-recipe-instructions'] ) && ! empty( $data['bsf-aiosrs-recipe-recipe-instructions'] ) ) {
@@ -271,17 +191,15 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Review' ) ) {
foreach ( $recipe_instructions as $key => $value ) {
if ( isset( $value ) && ! empty( $value ) ) {
$schema['itemReviewed']['recipeInstructions'][ $key ]['@type'] = 'HowToStep';
$schema['itemReviewed']['recipeInstructions'][ $key ]['text'] = wp_strip_all_tags( $value );
$schema['itemReviewed']['recipeInstructions'][ $key ]['text'] = wp_strip_all_tags( (string)$value );
}
}
}
if ( isset( $data['bsf-aiosrs-recipe-video-name'] ) && ! empty( $data['bsf-aiosrs-recipe-video-name'] ) ) {
$schema['itemReviewed']['video']['@type'] = 'VideoObject';
$schema['itemReviewed']['video']['name'] = wp_strip_all_tags( $data['bsf-aiosrs-recipe-video-name'] );
if ( isset( $data['bsf-aiosrs-recipe-video-desc'] ) && ! empty( $data['bsf-aiosrs-recipe-video-desc'] ) ) {
$schema['itemReviewed']['video']['description'] = wp_strip_all_tags( $data['bsf-aiosrs-recipe-video-desc'] );
}
$schema['itemReviewed']['video']['name'] = wp_strip_all_tags( (string)$data['bsf-aiosrs-recipe-video-name'] );
$schema['itemReviewed']['video']['description'] = ! empty( $data['bsf-aiosrs-recipe-video-desc'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-recipe-video-desc'] ) : NULL;
if ( isset( $data['bsf-aiosrs-recipe-video-image'] ) && ! empty( $data['bsf-aiosrs-recipe-video-image'] ) ) {
$schema['itemReviewed']['video']['thumbnailUrl'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $data['bsf-aiosrs-recipe-video-image'] );
}
@@ -291,81 +209,51 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Review' ) ) {
if ( isset( $data['bsf-aiosrs-recipe-recipe-video-embed-url'] ) && ! empty( $data['bsf-aiosrs-recipe-recipe-video-embed-url'] ) ) {
$schema['itemReviewed']['video']['embedUrl'] = esc_url( $data['bsf-aiosrs-recipe-recipe-video-embed-url'] );
}
if ( isset( $data['bsf-aiosrs-recipe-recipe-video-duration'] ) && ! empty( $data['bsf-aiosrs-recipe-recipe-video-duration'] ) ) {
$schema['itemReviewed']['video']['duration'] = wp_strip_all_tags( $data['bsf-aiosrs-recipe-recipe-video-duration'] );
}
if ( isset( $data['bsf-aiosrs-recipe-recipe-video-upload-date'] ) && ! empty( $data['bsf-aiosrs-recipe-recipe-video-upload-date'] ) ) {
$schema['itemReviewed']['video']['uploadDate'] = wp_strip_all_tags( $data['bsf-aiosrs-recipe-recipe-video-upload-date'] );
}
if ( isset( $data['bsf-aiosrs-recipe-recipe-video-interaction-count'] ) && ! empty( $data['bsf-aiosrs-recipe-recipe-video-interaction-count'] ) ) {
$schema['itemReviewed']['video']['interactionCount'] = wp_strip_all_tags( $data['bsf-aiosrs-recipe-recipe-video-interaction-count'] );
}
if ( isset( $data['bsf-aiosrs-recipe-recipe-video-expires-date'] ) && ! empty( $data['bsf-aiosrs-recipe-recipe-video-expires-date'] ) ) {
$schema['itemReviewed']['video']['expires'] = wp_strip_all_tags( $data['bsf-aiosrs-recipe-recipe-video-expires-date'] );
}
$schema['itemReviewed']['video']['duration'] = ! empty( $data['bsf-aiosrs-recipe-recipe-video-duration'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-recipe-recipe-video-duration'] ) : NULL;
$schema['itemReviewed']['video']['uploadDate'] = ! empty( $data['bsf-aiosrs-recipe-recipe-video-upload-date'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-recipe-recipe-video-upload-date'] ) : NULL;
$schema['itemReviewed']['video']['interactionCount'] = ! empty( $data['bsf-aiosrs-recipe-recipe-video-interaction-count'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-recipe-recipe-video-interaction-count'] ) : NULL;
$schema['itemReviewed']['video']['expires'] = ! empty( $data['bsf-aiosrs-recipe-recipe-video-expires-date'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-recipe-recipe-video-expires-date'] ) : NULL;
}
break;
case 'bsf-aiosrs-software-application':
$schema['itemReviewed']['@type'] = 'SoftwareApplication';
if ( isset( $data['bsf-aiosrs-software-application-name'] ) && ! empty( $data['bsf-aiosrs-software-application-name'] ) ) {
$schema['itemReviewed']['name'] = wp_strip_all_tags( $data['bsf-aiosrs-software-application-name'] );
}
$schema['itemReviewed']['name'] = ! empty( $data['bsf-aiosrs-software-application-name'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-software-application-name'] ) : NULL;
if ( isset( $data['bsf-aiosrs-software-application-operating-system'] ) && ! empty( $data['bsf-aiosrs-software-application-operating-system'] ) ) {
$schema['itemReviewed']['operatingSystem'] = wp_strip_all_tags( $data['bsf-aiosrs-software-application-operating-system'] );
}
$schema['itemReviewed']['operatingSystem'] = ! empty( $data['bsf-aiosrs-software-application-operating-system'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-software-application-operating-system'] ) : NULL;
if ( isset( $data['bsf-aiosrs-software-application-category'] ) && ! empty( $data['bsf-aiosrs-software-application-category'] ) ) {
$schema['itemReviewed']['applicationCategory'] = wp_strip_all_tags( $data['bsf-aiosrs-software-application-category'] );
}
$schema['itemReviewed']['applicationCategory'] = ! empty( $data['bsf-aiosrs-software-application-category'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-software-application-category'] ) : NULL;
if ( ( isset( $data['bsf-aiosrs-software-application-rating'] ) && ! empty( $data['bsf-aiosrs-software-application-rating'] ) ) ||
( isset( $data['bsf-aiosrs-software-application-review-count'] ) && ! empty( $data['bsf-aiosrs-software-application-review-count'] ) ) ) {
$schema['itemReviewed']['aggregateRating']['@type'] = 'AggregateRating';
if ( isset( $data['bsf-aiosrs-software-application-rating'] ) && ! empty( $data['bsf-aiosrs-software-application-rating'] ) ) {
$schema['itemReviewed']['aggregateRating']['ratingValue'] = wp_strip_all_tags( $data['bsf-aiosrs-software-application-rating'] );
}
if ( isset( $data['bsf-aiosrs-software-application-review-count'] ) && ! empty( $data['bsf-aiosrs-software-application-review-count'] ) ) {
$schema['itemReviewed']['aggregateRating']['reviewCount'] = wp_strip_all_tags( $data['bsf-aiosrs-software-application-review-count'] );
}
$schema['itemReviewed']['aggregateRating']['ratingValue'] = ! empty( $data['bsf-aiosrs-software-application-rating'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-software-application-rating'] ) : NULL;
$schema['itemReviewed']['aggregateRating']['reviewCount'] = ! empty( $data['bsf-aiosrs-software-application-review-count'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-software-application-review-count'] ) : NULL;
}
if ( true === apply_filters( 'wp_schema_pro_remove_software_application_offers_review_type', true ) ) {
$schema['itemReviewed']['offers']['@type'] = 'Offer';
$schema['itemReviewed']['offers']['price'] = '0';
if ( isset( $data['bsf-aiosrs-software-application-price'] ) && ! empty( $data['bsf-aiosrs-software-application-price'] ) ) {
$schema['itemReviewed']['offers']['price'] = wp_strip_all_tags( $data['bsf-aiosrs-software-application-price'] );
}
$schema['itemReviewed']['offers']['price'] = ! empty( $data['bsf-aiosrs-software-application-price'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-software-application-price'] ) : NULL;
if ( isset( $data['bsf-aiosrs-software-application-currency'] ) && ! empty( $data['bsf-aiosrs-software-application-currency'] ) ) {
$schema['itemReviewed']['offers']['priceCurrency'] = wp_strip_all_tags( $data['bsf-aiosrs-software-application-currency'] );
}
$schema['itemReviewed']['offers']['priceCurrency'] = ! empty( $data['bsf-aiosrs-software-application-currency'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-software-application-currency'] ) : NULL;
}
break;
case 'bsf-aiosrs-product':
$schema['itemReviewed']['@type'] = 'product';
if ( isset( $data['bsf-aiosrs-product-name'] ) && ! empty( $data['bsf-aiosrs-product-name'] ) ) {
$schema['itemReviewed']['name'] = wp_strip_all_tags( $data['bsf-aiosrs-product-name'] );
}
$schema['itemReviewed']['name'] = ! empty( $data['bsf-aiosrs-product-name'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-product-name'] ) : NULL;
if ( isset( $data['bsf-aiosrs-product-image'] ) && ! empty( $data['bsf-aiosrs-product-image'] ) ) {
$schema['itemReviewed']['image'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $data['bsf-aiosrs-product-image'] );
}
if ( isset( $data['bsf-aiosrs-product-description'] ) && ! empty( $data['bsf-aiosrs-product-description'] ) ) {
$schema['itemReviewed']['description'] = wp_strip_all_tags( $data['bsf-aiosrs-product-description'] );
}
$schema['itemReviewed']['description'] = ! empty( $data['bsf-aiosrs-product-description'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-product-description'] ) : NULL;
if ( isset( $data['bsf-aiosrs-product-sku'] ) && ! empty( $data['bsf-aiosrs-product-sku'] ) ) {
$schema['itemReviewed']['sku'] = wp_strip_all_tags( $data['bsf-aiosrs-product-sku'] );
}
if ( isset( $data['bsf-aiosrs-product-mpn'] ) && ! empty( $data['bsf-aiosrs-product-mpn'] ) ) {
$schema['itemReviewed']['mpn'] = wp_strip_all_tags( $data['bsf-aiosrs-product-mpn'] );
}
$schema['itemReviewed']['sku'] = ! empty( $data['bsf-aiosrs-product-sku'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-product-sku'] ) : NULL;
$schema['itemReviewed']['mpn'] = ! empty( $data['bsf-aiosrs-product-mpn'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-product-mpn'] ) : NULL;
if ( isset( $data['bsf-aiosrs-product-brand-name'] ) && ! empty( $data['bsf-aiosrs-product-brand-name'] ) ) {
$schema['itemReviewed']['brand']['@type'] = 'Organization';
$schema['itemReviewed']['brand']['name'] = wp_strip_all_tags( $data['bsf-aiosrs-product-brand-name'] );
$schema['itemReviewed']['brand']['name'] = wp_strip_all_tags( (string)$data['bsf-aiosrs-product-brand-name'] );
}
if ( ( isset( $data['bsf-aiosrs-product-rating'] ) && ! empty( $data['bsf-aiosrs-product-rating'] ) ) ||
@@ -373,66 +261,44 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Review' ) ) {
$schema['itemReviewed']['aggregateRating']['@type'] = 'AggregateRating';
if ( isset( $data['bsf-aiosrs-product-rating'] ) && ! empty( $data['bsf-aiosrs-product-rating'] ) ) {
$schema['itemReviewed']['aggregateRating']['ratingValue'] = wp_strip_all_tags( $data['bsf-aiosrs-product-rating'] );
}
if ( isset( $data['bsf-aiosrs-product-review-count'] ) && ! empty( $data['bsf-aiosrs-product-review-count'] ) ) {
$schema['itemReviewed']['aggregateRating']['reviewCount'] = wp_strip_all_tags( $data['bsf-aiosrs-product-review-count'] );
}
$schema['itemReviewed']['aggregateRating']['ratingValue'] = ! empty( $data['bsf-aiosrs-product-rating'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-product-rating'] ) : NULL;
$schema['itemReviewed']['aggregateRating']['reviewCount'] = ! empty( $data['bsf-aiosrs-product-review-count'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-product-review-count'] ) : NULL;
}
if ( apply_filters( 'wp_schema_pro_remove_product_offers', true ) ) {
$schema['itemReviewed']['offers']['@type'] = 'Offer';
$schema['itemReviewed']['offers']['price'] = '0';
if ( isset( $data['bsf-aiosrs-product-price'] ) && ! empty( $data['bsf-aiosrs-product-price'] ) ) {
$schema['itemReviewed']['offers']['price'] = wp_strip_all_tags( $data['bsf-aiosrs-product-price'] );
}
if ( isset( $data['bsf-aiosrs-product-price-valid-until'] ) && ! empty( $data['bsf-aiosrs-product-price-valid-until'] ) ) {
$schema['itemReviewed']['offers']['priceValidUntil'] = wp_strip_all_tags( $data['bsf-aiosrs-product-price-valid-until'] );
}
$schema['itemReviewed']['offers']['price'] = ! empty( $data['bsf-aiosrs-product-price'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-product-price'] ) : NULL;
$schema['itemReviewed']['offers']['priceValidUntil'] = ! empty( $data['bsf-aiosrs-product-price-valid-until'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-product-price-valid-until'] ) : NULL;
$schema['itemReviewed']['offers']['url'] = get_permalink( $post['ID'] );
if ( ( isset( $data['bsf-aiosrs-product-currency'] ) && ! empty( $data['bsf-aiosrs-product-currency'] ) ) ||
( isset( $data['bsf-aiosrs-product-avail'] ) && ! empty( $data['bsf-aiosrs-product-avail'] ) ) ) {
if ( isset( $data['bsf-aiosrs-product-currency'] ) && ! empty( $data['bsf-aiosrs-product-currency'] ) ) {
$schema['itemReviewed']['offers']['priceCurrency'] = wp_strip_all_tags( $data['bsf-aiosrs-product-currency'] );
}
if ( isset( $data['bsf-aiosrs-product-avail'] ) && ! empty( $data['bsf-aiosrs-product-avail'] ) ) {
$schema['itemReviewed']['offers']['availability'] = wp_strip_all_tags( $data['bsf-aiosrs-product-avail'] );
}
$schema['itemReviewed']['offers']['priceCurrency'] = ! empty( $data['bsf-aiosrs-product-currency'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-product-currency'] ) : NULL;
$schema['itemReviewed']['offers']['availability'] = ! empty( $data['bsf-aiosrs-product-avail'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-product-avail'] ) : NULL;
}
}
break;
case 'bsf-aiosrs-movie':
$schema['itemReviewed']['@type'] = 'Movie';
if ( isset( $data['bsf-aiosrs-movie-name'] ) && ! empty( $data['bsf-aiosrs-movie-name'] ) ) {
$schema['itemReviewed']['name'] = wp_strip_all_tags( $data['bsf-aiosrs-movie-name'] );
}
if ( isset( $data['bsf-aiosrs-movie-same-As'] ) && ! empty( $data['bsf-aiosrs-movie-same-As'] ) ) {
$schema['itemReviewed']['sameAs'] = wp_strip_all_tags( $data['bsf-aiosrs-movie-same-As'] );
}
$schema['itemReviewed']['name'] = ! empty( $data['bsf-aiosrs-movie-name'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-movie-name'] ) : NULL;
$schema['itemReviewed']['sameAs'] = ! empty( $data['bsf-aiosrs-movie-same-As'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-movie-same-As'] ) : NULL;
if ( isset( $data['bsf-aiosrs-movie-image'] ) && ! empty( $data['bsf-aiosrs-movie-image'] ) ) {
$schema['itemReviewed']['image'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $data['bsf-aiosrs-movie-image'] );
}
if ( isset( $data['bsf-aiosrs-movie-dateCreated'] ) && ! empty( $data['bsf-aiosrs-movie-dateCreated'] ) ) {
$schema['itemReviewed']['dateCreated'] = wp_strip_all_tags( $data['bsf-aiosrs-movie-dateCreated'] );
}
$schema['itemReviewed']['dateCreated'] = ! empty( $data['bsf-aiosrs-movie-dateCreated'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-movie-dateCreated'] ) : NULL;
if ( isset( $data['bsf-aiosrs-movie-director-name'] ) && ! empty( $data['bsf-aiosrs-movie-director-name'] ) ) {
$schema['itemReviewed']['director']['@type'] = 'Person';
$schema['itemReviewed']['director']['name'] = wp_strip_all_tags( $data['bsf-aiosrs-movie-director-name'] );
}
if ( isset( $data['bsf-aiosrs-movie-description'] ) && ! empty( $data['bsf-aiosrs-movie-description'] ) ) {
$schema['description'] = wp_strip_all_tags( $data['bsf-aiosrs-movie-description'] );
$schema['itemReviewed']['director']['name'] = wp_strip_all_tags( (string)$data['bsf-aiosrs-movie-director-name'] );
}
$schema['description'] = ! empty( $data['bsf-aiosrs-movie-description'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-movie-description'] ) : NULL;
break;
case 'bsf-aiosrs-organization':
$schema['itemReviewed']['@type'] = 'Organization';
if ( isset( $data['bsf-aiosrs-organization-name'] ) && ! empty( $data['bsf-aiosrs-organization-name'] ) ) {
$schema['itemReviewed']['name'] = wp_strip_all_tags( $data['bsf-aiosrs-organization-name'] );
}
$schema['itemReviewed']['name'] = ! empty( $data['bsf-aiosrs-organization-name'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-organization-name'] ) : NULL;
if ( ( isset( $data['bsf-aiosrs-organization-location-street'] ) && ! empty( $data['bsf-aiosrs-organization-location-street'] ) ) ||
( isset( $data['bsf-aiosrs-organization-location-locality'] ) && ! empty( $data['bsf-aiosrs-organization-location-locality'] ) ) ||
( isset( $data['bsf-aiosrs-organization-location-postal'] ) && ! empty( $data['bsf-aiosrs-organization-location-postal'] ) ) ||
@@ -441,21 +307,11 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Review' ) ) {
$schema['itemReviewed']['address']['@type'] = 'PostalAddress';
if ( isset( $data['bsf-aiosrs-organization-location-street'] ) && ! empty( $data['bsf-aiosrs-organization-location-street'] ) ) {
$schema['itemReviewed']['address']['streetAddress'] = wp_strip_all_tags( $data['bsf-aiosrs-organization-location-street'] );
}
if ( isset( $data['bsf-aiosrs-organization-location-locality'] ) && ! empty( $data['bsf-aiosrs-organization-location-locality'] ) ) {
$schema['itemReviewed']['address']['addressLocality'] = wp_strip_all_tags( $data['bsf-aiosrs-organization-location-locality'] );
}
if ( isset( $data['bsf-aiosrs-organization-location-postal'] ) && ! empty( $data['bsf-aiosrs-organization-location-postal'] ) ) {
$schema['itemReviewed']['address']['postalCode'] = wp_strip_all_tags( $data['bsf-aiosrs-organization-location-postal'] );
}
if ( isset( $data['bsf-aiosrs-organization-location-region'] ) && ! empty( $data['bsf-aiosrs-organization-location-region'] ) ) {
$schema['itemReviewed']['address']['addressRegion'] = wp_strip_all_tags( $data['bsf-aiosrs-organization-location-region'] );
}
if ( isset( $data['bsf-aiosrs-organization-location-country'] ) && ! empty( $data['bsf-aiosrs-organization-location-country'] ) ) {
$schema['itemReviewed']['address']['addressCountry'] = wp_strip_all_tags( $data['bsf-aiosrs-organization-location-country'] );
}
$schema['itemReviewed']['address']['streetAddress'] = ! empty( $data['bsf-aiosrs-organization-location-street'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-organization-location-street'] ) : NULL;
$schema['itemReviewed']['address']['addressLocality'] = ! empty( $data['bsf-aiosrs-organization-location-locality'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-organization-location-locality'] ) : NULL;
$schema['itemReviewed']['address']['postalCode'] = ! empty( $data['bsf-aiosrs-organization-location-postal'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-organization-location-postal'] ) : NULL;
$schema['itemReviewed']['address']['addressRegion'] = ! empty( $data['bsf-aiosrs-organization-location-region'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-organization-location-region'] ) : NULL;
$schema['itemReviewed']['address']['addressCountry'] = ! empty( $data['bsf-aiosrs-organization-location-country'] ) ? wp_strip_all_tags( (string)$data['bsf-aiosrs-organization-location-country'] ) : NULL;
}
break;
default:
@@ -465,21 +321,13 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Review' ) ) {
if ( isset( $data['rating'] ) && ! empty( $data['rating'] ) ) {
$schema['reviewRating']['@type'] = 'Rating';
$schema['reviewRating']['ratingValue'] = wp_strip_all_tags( $data['rating'] );
}
if ( isset( $data['review-body'] ) && ! empty( $data['review-body'] ) ) {
$schema['reviewBody'] = wp_strip_all_tags( $data['review-body'] );
}
if ( isset( $data['date'] ) && ! empty( $data['date'] ) ) {
$schema['datePublished'] = wp_strip_all_tags( $data['date'] );
}
if ( isset( $data['reviewer-type'] ) && ! empty( $data['reviewer-type'] ) ) {
$schema['author']['@type'] = wp_strip_all_tags( $data['reviewer-type'] );
} else {
$schema['author']['@type'] = 'Person';
$schema['reviewRating']['ratingValue'] = wp_strip_all_tags( (string)$data['rating'] );
}
$schema['reviewBody'] = ! empty( $data['review-body'] ) ? wp_strip_all_tags( (string)$data['review-body'] ) : NULL;
$schema['datePublished'] = ! empty( $data['date'] ) ? wp_strip_all_tags( (string)$data['date'] ) : NULL;
$schema['author']['@type'] = ! empty( $data['reviewer-type'] ) ? wp_strip_all_tags( (string)$data['reviewer-type'] ) : 'Person';
if ( isset( $data['reviewer-name'] ) && ! empty( $data['reviewer-name'] ) ) {
$schema['author']['name'] = wp_strip_all_tags( $data['reviewer-name'] );
$schema['author']['name'] = wp_strip_all_tags( (string)$data['reviewer-name'] );
$author_data = get_userdata( $post['post_author'] );
$author_name = ( isset( $author_data->user_nicename ) ) ? $author_data->user_nicename : '';
$author_url = get_author_posts_url( $post['ID'] );
@@ -489,7 +337,7 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Review' ) ) {
}
if ( isset( $data['publisher-name'] ) && ! empty( $data['publisher-name'] ) ) {
$schema['publisher']['@type'] = 'Organization';
$schema['publisher']['name'] = wp_strip_all_tags( $data['publisher-name'] );
$schema['publisher']['name'] = wp_strip_all_tags( (string)$data['publisher-name'] );
$prg_url_value = get_bloginfo( 'url' );
$schema['publisher']['sameAs'] = esc_url( $prg_url_value );
}

View File

@@ -28,13 +28,9 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Service' ) ) {
$schema['@context'] = 'https://schema.org';
$schema['@type'] = 'Service';
if ( isset( $data['name'] ) && ! empty( $data['name'] ) ) {
$schema['name'] = wp_strip_all_tags( $data['name'] );
}
$schema['name'] = ! empty( $data['name'] ) ? wp_strip_all_tags( (string)$data['name'] ) : NULL;
if ( isset( $data['type'] ) && ! empty( $data['type'] ) ) {
$schema['serviceType'] = wp_strip_all_tags( $data['type'] );
}
$schema['serviceType'] = ! empty( $data['type'] ) ? wp_strip_all_tags( (string)$data['type'] ) : NULL;
if ( isset( $data['image'] ) && ! empty( $data['image'] ) ) {
$schema['image'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $data['image'] );
@@ -47,18 +43,12 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Service' ) ) {
$schema['provider']['@type'] = 'LocalBusiness';
if ( isset( $data['provider'] ) && ! empty( $data['provider'] ) ) {
$schema['provider']['name'] = wp_strip_all_tags( $data['provider'] );
}
$schema['provider']['name'] = ! empty( $data['provider'] ) ? wp_strip_all_tags( (string)$data['provider'] ) : NULL;
if ( isset( $data['location-image'] ) && ! empty( $data['location-image'] ) ) {
$schema['provider']['image'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $data['location-image'] );
}
if ( isset( $data['telephone'] ) && ! empty( $data['telephone'] ) ) {
$schema['provider']['telephone'] = wp_strip_all_tags( $data['telephone'] );
}
if ( isset( $data['price-range'] ) && ! empty( $data['price-range'] ) ) {
$schema['provider']['priceRange'] = wp_strip_all_tags( $data['price-range'] );
}
$schema['provider']['telephone'] = ! empty( $data['telephone'] ) ? wp_strip_all_tags( (string)$data['telephone'] ) : NULL;
$schema['provider']['priceRange'] = ! empty( $data['price-range'] ) ? wp_strip_all_tags( (string)$data['price-range'] ) : NULL;
}
if ( ( isset( $data['location-locality'] ) && ! empty( $data['location-locality'] ) ) ||
@@ -68,25 +58,17 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Service' ) ) {
$schema['provider']['@type'] = 'LocalBusiness';
$schema['provider']['address']['@type'] = 'PostalAddress';
if ( isset( $data['location-locality'] ) && ! empty( $data['location-locality'] ) ) {
$schema['provider']['address']['addressLocality'] = wp_strip_all_tags( $data['location-locality'] );
}
if ( isset( $data['location-region'] ) && ! empty( $data['location-region'] ) ) {
$schema['provider']['address']['addressRegion'] = wp_strip_all_tags( $data['location-region'] );
}
if ( isset( $data['location-street'] ) && ! empty( $data['location-street'] ) ) {
$schema['provider']['address']['streetAddress'] = wp_strip_all_tags( $data['location-street'] );
}
$schema['provider']['address']['addressLocality'] = ! empty( $data['location-locality'] ) ? wp_strip_all_tags( (string)$data['location-locality'] ) : NULL;
$schema['provider']['address']['addressRegion'] = ! empty( $data['location-region'] ) ? wp_strip_all_tags( (string)$data['location-region'] ) : NULL;
$schema['provider']['address']['streetAddress'] = ! empty( $data['location-street'] ) ? wp_strip_all_tags( (string)$data['location-street'] ) : NULL;
}
if ( isset( $data['area'] ) && ! empty( $data['area'] ) ) {
$schema['areaServed']['@type'] = 'State';
$schema['areaServed']['name'] = wp_strip_all_tags( $data['area'] );
$schema['areaServed']['name'] = wp_strip_all_tags( (string)$data['area'] );
}
if ( isset( $data['description'] ) && ! empty( $data['description'] ) ) {
$schema['description'] = wp_strip_all_tags( $data['description'] );
}
$schema['description'] = ! empty( $data['description'] ) ? wp_strip_all_tags( (string)$data['description'] ) : NULL;
return apply_filters( 'wp_schema_pro_schema_service', $schema, $data, $post );
}

View File

@@ -28,17 +28,11 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Software_Application' ) ) {
$schema['@context'] = 'https://schema.org';
$schema['@type'] = 'SoftwareApplication';
if ( isset( $data['name'] ) && ! empty( $data['name'] ) ) {
$schema['name'] = wp_strip_all_tags( $data['name'] );
}
$schema['name'] = ! empty( $data['name'] ) ? wp_strip_all_tags( (string)$data['name'] ) : NULL;
if ( isset( $data['operating-system'] ) && ! empty( $data['operating-system'] ) ) {
$schema['operatingSystem'] = wp_strip_all_tags( $data['operating-system'] );
}
$schema['operatingSystem'] = ! empty( $data['operating-system'] ) ? wp_strip_all_tags( (string)$data['operating-system'] ) : NULL;
if ( isset( $data['category'] ) && ! empty( $data['category'] ) ) {
$schema['applicationCategory'] = wp_strip_all_tags( $data['category'] );
}
$schema['applicationCategory'] = ! empty( $data['category'] ) ? wp_strip_all_tags( (string)$data['category'] ) : NULL;
if ( isset( $data['image'] ) && ! empty( $data['image'] ) ) {
$schema['image'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $data['image'] );
@@ -49,24 +43,16 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Software_Application' ) ) {
$schema['aggregateRating']['@type'] = 'AggregateRating';
if ( isset( $data['rating'] ) && ! empty( $data['rating'] ) ) {
$schema['aggregateRating']['ratingValue'] = wp_strip_all_tags( $data['rating'] );
}
if ( isset( $data['review-count'] ) && ! empty( $data['review-count'] ) ) {
$schema['aggregateRating']['reviewCount'] = wp_strip_all_tags( $data['review-count'] );
}
$schema['aggregateRating']['ratingValue'] = ! empty( $data['rating'] ) ? wp_strip_all_tags( (string)$data['rating'] ) : NULL;
$schema['aggregateRating']['reviewCount'] = ! empty( $data['review-count'] ) ? wp_strip_all_tags( (string)$data['review-count'] ) : NULL;
}
$schema['offers']['@type'] = 'Offer';
$schema['offers']['price'] = '0';
if ( isset( $data['price'] ) && ! empty( $data['price'] ) ) {
$schema['offers']['price'] = wp_strip_all_tags( $data['price'] );
}
$schema['offers']['price'] = ! empty( $data['price'] ) ? wp_strip_all_tags( (string)$data['price'] ) : NULL;
if ( isset( $data['currency'] ) && ! empty( $data['currency'] ) ) {
$schema['offers']['priceCurrency'] = wp_strip_all_tags( $data['currency'] );
}
$schema['offers']['priceCurrency'] = ! empty( $data['currency'] ) ? wp_strip_all_tags( (string)$data['currency'] ) : NULL;
return apply_filters( 'wp_schema_pro_schema_software_application', $schema, $data, $post );
}

View File

@@ -28,17 +28,13 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Video_Object' ) ) {
$schema['@context'] = 'https://schema.org';
$schema['@type'] = 'VideoObject';
if ( isset( $data['name'] ) && ! empty( $data['name'] ) ) {
$schema['name'] = wp_strip_all_tags( $data['name'] );
}
$schema['name'] = ! empty( $data['name'] ) ? wp_strip_all_tags( (string)$data['name'] ) : NULL;
if ( isset( $data['description'] ) && ! empty( $data['description'] ) ) {
$schema['description'] = wp_strip_all_tags( $data['description'] );
}
$schema['description'] = ! empty( $data['description'] ) ? wp_strip_all_tags( (string)$data['description'] ) : NULL;
if ( isset( $data['orgnization-name'] ) && ! empty( $data['orgnization-name'] ) ) {
$schema['publisher']['@type'] = 'Organization';
$schema['publisher']['name'] = wp_strip_all_tags( $data['orgnization-name'] );
$schema['publisher']['name'] = wp_strip_all_tags( (string)$data['orgnization-name'] );
}
if ( isset( $data['site-logo'] ) && ! empty( $data['site-logo'] ) ) {
@@ -50,13 +46,9 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Video_Object' ) ) {
$schema['thumbnailUrl'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $data['image'], 'URL' );
}
if ( isset( $data['upload-date'] ) && ! empty( $data['upload-date'] ) ) {
$schema['uploadDate'] = wp_strip_all_tags( $data['upload-date'] );
}
$schema['uploadDate'] = ! empty( $data['upload-date'] ) ? wp_strip_all_tags( (string)$data['upload-date'] ) : NULL;
if ( isset( $data['duration'] ) && ! empty( $data['duration'] ) ) {
$schema['duration'] = wp_strip_all_tags( $data['duration'] );
}
$schema['duration'] = ! empty( $data['duration'] ) ? wp_strip_all_tags( (string)$data['duration'] ) : NULL;
if ( isset( $data['content-url'] ) && ! empty( $data['content-url'] ) ) {
$schema['contentUrl'] = esc_url( $data['content-url'] );
@@ -66,12 +58,12 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Video_Object' ) ) {
$schema['embedUrl'] = esc_url( $data['embed-url'] );
}
if ( isset( $data['expires-date'] ) && ! empty( $data['expires-date'] ) ) {
$schema['expires'] = wp_strip_all_tags( $data['expires-date'] );
}
$schema['expires'] = ! empty( $data['expires-date'] ) ? wp_strip_all_tags( (string)$data['expires-date'] ) : NULL;
if ( isset( $data['interaction-count'] ) && ! empty( $data['interaction-count'] ) ) {
$schema['interactionCount'] = wp_strip_all_tags( $data['interaction-count'] );
$schema['interactionStatistic']['@type'] = 'InteractionCounter';
$schema['interactionStatistic']['interactionType']['@type'] = 'WatchAction';
$schema['interactionStatistic']['userInteractionCount'] = wp_strip_all_tags( (string)$data['interaction-count'] );
}
return apply_filters( 'wp_schema_pro_schema_video_object', $schema, $data, $post );

View File

@@ -1,81 +1,81 @@
<?php
/**
* Schemas Template.
*
* @package Schema Pro
* @since 1.1.0
*/
if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Global_About_Page' ) ) {
/**
* AIOSRS Schemas Initialization
*
* @since 1.1.0
*/
class BSF_AIOSRS_Pro_Schema_Global_About_Page {
/**
* Render Schema.
*
* @param array $post Current Post Array.
* @return array
*/
public static function render( $post ) {
$schema = array();
$schema['@context'] = 'https://schema.org';
$schema['@type'] = 'AboutPage';
$schema['mainEntityOfPage']['@type'] = 'WebPage';
$schema['mainEntityOfPage']['@id'] = esc_url( get_permalink( $post['ID'] ) );
$schema['headline'] = wp_strip_all_tags( $post['post_title'] );
$schema['description'] = BSF_AIOSRS_Pro_Schema_Template::strip_markup( $post['post_content'] );
$image_id = get_post_thumbnail_id( $post['ID'] );
if ( ! empty( $image_id ) ) {
$thumb_image = wp_get_attachment_image_src( $image_id, 'full' );
$schema['image'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $thumb_image );
}
$settings = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-general-settings'];
if ( 'person' === $settings['site-represent'] || 'personblog' === $settings['site-represent'] ) {
$settings['site-represent'] = 'person';
}
if ( 'organization' === $settings['site-represent'] || 'Webshop' === $settings['site-represent'] || 'Smallbusiness' === $settings['site-represent'] || 'Otherbusiness' === $settings['site-represent'] ) {
$settings['site-represent'] = 'organization';
}
$schema['publisher']['@type'] = ( isset( $settings['site-represent'] ) && ! empty( $settings['site-represent'] ) ) ? $settings['site-represent'] : 'Organization';
if ( 'organization' === $settings['site-represent'] ) {
$schema['publisher']['name'] = ( isset( $settings['site-name'] ) && ! empty( $settings['site-name'] ) ) ? $settings['site-name'] : wp_strip_all_tags( get_bloginfo( 'name' ) );
} else {
$schema['publisher']['name'] = ( isset( $settings['person-name'] ) && ! empty( $settings['person-name'] ) ) ? $settings['person-name'] : wp_strip_all_tags( get_bloginfo( 'name' ) );
}
$schema['publisher']['url'] = wp_strip_all_tags( get_bloginfo( 'url' ) );
if ( 'organization' === $settings['site-represent'] ) {
$logo_id = get_theme_mod( 'custom_logo' );
if ( isset( $settings['site-logo'] ) && 'custom' === $settings['site-logo'] ) {
$logo_id = isset( $settings['site-logo-custom'] ) ? $settings['site-logo-custom'] : '';
}
if ( $logo_id ) {
// Add logo image size.
add_filter( 'intermediate_image_sizes_advanced', 'BSF_AIOSRS_Pro_Schema_Template::logo_image_sizes', 10, 2 );
$logo_image = wp_get_attachment_image_src( $logo_id, 'aiosrs-logo-size' );
if ( isset( $logo_image[3] ) && 1 !== $logo_image[3] ) {
BSF_AIOSRS_Pro_Schema_Template::generate_logo_by_width( $logo_id );
$logo_image = wp_get_attachment_image_src( $logo_id, 'aiosrs-logo-size' );
}
// Remove logo image size.
remove_filter( 'intermediate_image_sizes_advanced', 'BSF_AIOSRS_Pro_Schema_Template::logo_image_sizes', 10, 2 );
$schema['publisher']['logo'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $logo_image, 'ImageObject' );
}
}
return apply_filters( 'wp_schema_pro_global_schema_about_page', $schema, $post );
}
}
}
<?php
/**
* Schemas Template.
*
* @package Schema Pro
* @since 1.1.0
*/
if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Global_About_Page' ) ) {
/**
* AIOSRS Schemas Initialization
*
* @since 1.1.0
*/
class BSF_AIOSRS_Pro_Schema_Global_About_Page {
/**
* Render Schema.
*
* @param array $post Current Post Array.
* @return array
*/
public static function render( $post ) {
$schema = array();
$schema['@context'] = 'https://schema.org';
$schema['@type'] = 'AboutPage';
$schema['mainEntityOfPage']['@type'] = 'WebPage';
$schema['mainEntityOfPage']['@id'] = esc_url( get_permalink( $post['ID'] ) );
$schema['headline'] = wp_strip_all_tags( $post['post_title'] );
$schema['description'] = BSF_AIOSRS_Pro_Schema_Template::strip_markup( $post['post_content'] );
$image_id = get_post_thumbnail_id( $post['ID'] );
if ( ! empty( $image_id ) ) {
$thumb_image = wp_get_attachment_image_src( $image_id, 'full' );
$schema['image'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $thumb_image );
}
$settings = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-general-settings'];
if ( 'person' === $settings['site-represent'] || 'personblog' === $settings['site-represent'] ) {
$settings['site-represent'] = 'person';
}
if ( 'organization' === $settings['site-represent'] || 'Webshop' === $settings['site-represent'] || 'Smallbusiness' === $settings['site-represent'] || 'Otherbusiness' === $settings['site-represent'] ) {
$settings['site-represent'] = 'organization';
}
$schema['publisher']['@type'] = ( isset( $settings['site-represent'] ) && ! empty( $settings['site-represent'] ) ) ? $settings['site-represent'] : 'Organization';
if ( 'organization' === $settings['site-represent'] ) {
$schema['publisher']['name'] = ( isset( $settings['site-name'] ) && ! empty( $settings['site-name'] ) ) ? $settings['site-name'] : wp_strip_all_tags( get_bloginfo( 'name' ) );
} else {
$schema['publisher']['name'] = ( isset( $settings['person-name'] ) && ! empty( $settings['person-name'] ) ) ? $settings['person-name'] : wp_strip_all_tags( get_bloginfo( 'name' ) );
}
$schema['publisher']['url'] = wp_strip_all_tags( get_bloginfo( 'url' ) );
if ( 'organization' === $settings['site-represent'] ) {
$logo_id = get_theme_mod( 'custom_logo' );
if ( isset( $settings['site-logo'] ) && 'custom' === $settings['site-logo'] ) {
$logo_id = isset( $settings['site-logo-custom'] ) ? $settings['site-logo-custom'] : '';
}
if ( $logo_id ) {
// Add logo image size.
add_filter( 'intermediate_image_sizes_advanced', 'BSF_AIOSRS_Pro_Schema_Template::logo_image_sizes', 10, 2 );
$logo_image = wp_get_attachment_image_src( $logo_id, 'aiosrs-logo-size' );
if ( isset( $logo_image[3] ) && 1 !== $logo_image[3] ) {
BSF_AIOSRS_Pro_Schema_Template::generate_logo_by_width( $logo_id );
$logo_image = wp_get_attachment_image_src( $logo_id, 'aiosrs-logo-size' );
}
// Remove logo image size.
remove_filter( 'intermediate_image_sizes_advanced', 'BSF_AIOSRS_Pro_Schema_Template::logo_image_sizes', 10, 2 );
$schema['publisher']['logo'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $logo_image, 'ImageObject' );
}
}
return apply_filters( 'wp_schema_pro_global_schema_about_page', $schema, $post );
}
}
}

View File

@@ -1,42 +1,42 @@
<?php
/**
* Schemas Template.
*
* @package Schema Pro
* @since 1.1.0
*/
if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Global_Breadcrumb' ) ) {
/**
* AIOSRS Schemas Initialization
*
* @since 1.1.0
*/
class BSF_AIOSRS_Pro_Schema_Global_Breadcrumb {
/**
* Render Schema.
*
* @param array $post Current Post Array.
* @return array
*/
public static function render( $post ) {
$schema = array();
$schema['@context'] = 'https://schema.org';
$schema['@type'] = 'BreadcrumbList';
$breadcrumb_list = BSF_AIOSRS_Pro_Schema_Template::get_breadcrumb_list();
foreach ( $breadcrumb_list as $key => $breadcrumb ) {
$schema['itemListElement'][ $key ]['@type'] = 'ListItem';
$schema['itemListElement'][ $key ]['position'] = $key + 1;
$schema['itemListElement'][ $key ]['item']['@id'] = $breadcrumb['url'];
$schema['itemListElement'][ $key ]['item']['name'] = $breadcrumb['title'];
}
return apply_filters( 'wp_schema_pro_global_schema_breadcrumb', $schema, $post );
}
}
}
<?php
/**
* Schemas Template.
*
* @package Schema Pro
* @since 1.1.0
*/
if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Global_Breadcrumb' ) ) {
/**
* AIOSRS Schemas Initialization
*
* @since 1.1.0
*/
class BSF_AIOSRS_Pro_Schema_Global_Breadcrumb {
/**
* Render Schema.
*
* @param array $post Current Post Array.
* @return array
*/
public static function render( $post ) {
$schema = array();
$schema['@context'] = 'https://schema.org';
$schema['@type'] = 'BreadcrumbList';
$breadcrumb_list = BSF_AIOSRS_Pro_Schema_Template::get_breadcrumb_list();
foreach ( $breadcrumb_list as $key => $breadcrumb ) {
$schema['itemListElement'][ $key ]['@type'] = 'ListItem';
$schema['itemListElement'][ $key ]['position'] = $key + 1;
$schema['itemListElement'][ $key ]['item']['@id'] = $breadcrumb['url'];
$schema['itemListElement'][ $key ]['item']['name'] = $breadcrumb['title'];
}
return apply_filters( 'wp_schema_pro_global_schema_breadcrumb', $schema, $post );
}
}
}

View File

@@ -1,81 +1,81 @@
<?php
/**
* Schemas Template.
*
* @package Schema Pro
* @since 1.1.0
*/
if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Global_Contact_Page' ) ) {
/**
* AIOSRS Schemas Initialization
*
* @since 1.1.0
*/
class BSF_AIOSRS_Pro_Schema_Global_Contact_Page {
/**
* Render Schema.
*
* @param array $post Current Post Array.
* @return array
*/
public static function render( $post ) {
$schema = array();
$schema['@context'] = 'https://schema.org';
$schema['@type'] = 'ContactPage';
$schema['mainEntityOfPage']['@type'] = 'WebPage';
$schema['mainEntityOfPage']['@id'] = esc_url( get_permalink( $post['ID'] ) );
$schema['headline'] = wp_strip_all_tags( $post['post_title'] );
$schema['description'] = BSF_AIOSRS_Pro_Schema_Template::strip_markup( $post['post_content'] );
$image_id = get_post_thumbnail_id( $post['ID'] );
if ( ! empty( $image_id ) ) {
$thumb_image = wp_get_attachment_image_src( $image_id, 'full' );
$schema['image'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $thumb_image );
}
$settings = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-general-settings'];
if ( 'person' === $settings['site-represent'] || 'personblog' === $settings['site-represent'] ) {
$settings['site-represent'] = 'person';
}
if ( 'organization' === $settings['site-represent'] || 'Webshop' === $settings['site-represent'] || 'Smallbusiness' === $settings['site-represent'] || 'Otherbusiness' === $settings['site-represent'] ) {
$settings['site-represent'] = 'organization';
}
$schema['publisher']['@type'] = ( isset( $settings['site-represent'] ) && ! empty( $settings['site-represent'] ) ) ? $settings['site-represent'] : 'Organization';
if ( 'organization' === $settings['site-represent'] ) {
$schema['publisher']['name'] = ( isset( $settings['site-name'] ) && ! empty( $settings['site-name'] ) ) ? $settings['site-name'] : wp_strip_all_tags( get_bloginfo( 'name' ) );
} else {
$schema['publisher']['name'] = ( isset( $settings['person-name'] ) && ! empty( $settings['person-name'] ) ) ? $settings['person-name'] : wp_strip_all_tags( get_bloginfo( 'name' ) );
}
$schema['publisher']['url'] = wp_strip_all_tags( get_bloginfo( 'url' ) );
if ( 'organization' === $settings['site-represent'] ) {
$logo_id = get_theme_mod( 'custom_logo' );
if ( isset( $settings['site-logo'] ) && 'custom' === $settings['site-logo'] ) {
$logo_id = isset( $settings['site-logo-custom'] ) ? $settings['site-logo-custom'] : '';
}
if ( $logo_id ) {
// Add logo image size.
add_filter( 'intermediate_image_sizes_advanced', 'BSF_AIOSRS_Pro_Schema_Template::logo_image_sizes', 10, 2 );
$logo_image = wp_get_attachment_image_src( $logo_id, 'aiosrs-logo-size' );
if ( isset( $logo_image[3] ) && 1 !== $logo_image[3] ) {
BSF_AIOSRS_Pro_Schema_Template::generate_logo_by_width( $logo_id );
$logo_image = wp_get_attachment_image_src( $logo_id, 'aiosrs-logo-size' );
}
// Remove logo image size.
remove_filter( 'intermediate_image_sizes_advanced', 'BSF_AIOSRS_Pro_Schema_Template::logo_image_sizes', 10, 2 );
$schema['publisher']['logo'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $logo_image, 'ImageObject' );
}
}
return apply_filters( 'wp_schema_pro_global_schema_contact_page', $schema, $post );
}
}
}
<?php
/**
* Schemas Template.
*
* @package Schema Pro
* @since 1.1.0
*/
if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Global_Contact_Page' ) ) {
/**
* AIOSRS Schemas Initialization
*
* @since 1.1.0
*/
class BSF_AIOSRS_Pro_Schema_Global_Contact_Page {
/**
* Render Schema.
*
* @param array $post Current Post Array.
* @return array
*/
public static function render( $post ) {
$schema = array();
$schema['@context'] = 'https://schema.org';
$schema['@type'] = 'ContactPage';
$schema['mainEntityOfPage']['@type'] = 'WebPage';
$schema['mainEntityOfPage']['@id'] = esc_url( get_permalink( $post['ID'] ) );
$schema['headline'] = wp_strip_all_tags( $post['post_title'] );
$schema['description'] = BSF_AIOSRS_Pro_Schema_Template::strip_markup( $post['post_content'] );
$image_id = get_post_thumbnail_id( $post['ID'] );
if ( ! empty( $image_id ) ) {
$thumb_image = wp_get_attachment_image_src( $image_id, 'full' );
$schema['image'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $thumb_image );
}
$settings = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-general-settings'];
if ( 'person' === $settings['site-represent'] || 'personblog' === $settings['site-represent'] ) {
$settings['site-represent'] = 'person';
}
if ( 'organization' === $settings['site-represent'] || 'Webshop' === $settings['site-represent'] || 'Smallbusiness' === $settings['site-represent'] || 'Otherbusiness' === $settings['site-represent'] ) {
$settings['site-represent'] = 'organization';
}
$schema['publisher']['@type'] = ( isset( $settings['site-represent'] ) && ! empty( $settings['site-represent'] ) ) ? $settings['site-represent'] : 'Organization';
if ( 'organization' === $settings['site-represent'] ) {
$schema['publisher']['name'] = ( isset( $settings['site-name'] ) && ! empty( $settings['site-name'] ) ) ? $settings['site-name'] : wp_strip_all_tags( get_bloginfo( 'name' ) );
} else {
$schema['publisher']['name'] = ( isset( $settings['person-name'] ) && ! empty( $settings['person-name'] ) ) ? $settings['person-name'] : wp_strip_all_tags( get_bloginfo( 'name' ) );
}
$schema['publisher']['url'] = wp_strip_all_tags( get_bloginfo( 'url' ) );
if ( 'organization' === $settings['site-represent'] ) {
$logo_id = get_theme_mod( 'custom_logo' );
if ( isset( $settings['site-logo'] ) && 'custom' === $settings['site-logo'] ) {
$logo_id = isset( $settings['site-logo-custom'] ) ? $settings['site-logo-custom'] : '';
}
if ( $logo_id ) {
// Add logo image size.
add_filter( 'intermediate_image_sizes_advanced', 'BSF_AIOSRS_Pro_Schema_Template::logo_image_sizes', 10, 2 );
$logo_image = wp_get_attachment_image_src( $logo_id, 'aiosrs-logo-size' );
if ( isset( $logo_image[3] ) && 1 !== $logo_image[3] ) {
BSF_AIOSRS_Pro_Schema_Template::generate_logo_by_width( $logo_id );
$logo_image = wp_get_attachment_image_src( $logo_id, 'aiosrs-logo-size' );
}
// Remove logo image size.
remove_filter( 'intermediate_image_sizes_advanced', 'BSF_AIOSRS_Pro_Schema_Template::logo_image_sizes', 10, 2 );
$schema['publisher']['logo'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $logo_image, 'ImageObject' );
}
}
return apply_filters( 'wp_schema_pro_global_schema_contact_page', $schema, $post );
}
}
}

View File

@@ -1,110 +1,110 @@
<?php
/**
* Schemas Template.
*
* @package Schema Pro
* @since 1.1.0
*/
if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Global_Organization' ) ) {
/**
* AIOSRS Schemas Initialization
*
* @since 1.1.0
*/
class BSF_AIOSRS_Pro_Schema_Global_Organization {
/**
* Render Schema.
*
* @param array $post Current Post Array.
* @return array
*/
public static function render( $post ) {
$schema = array();
$general_settings = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-general-settings'];
$social_profiles = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-social-profiles'];
$contact_type = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-corporate-contact'];
$contact_hear = isset( $contact_type['contact-hear'] ) ? $contact_type['contact-hear'] : '';
$contact_toll = isset( $contact_type['contact-toll'] ) ? $contact_type['contact-toll'] : '';
$contactpoint = array( $contact_hear, $contact_toll );
$schema['@context'] = 'https://schema.org';
$schema['@type'] = ( isset( $general_settings['organization'] ) && ! empty( $general_settings['organization'] ) ) ? $general_settings['organization'] : 'organization';
$schema['name'] = ( isset( $general_settings['site-name'] ) && ! empty( $general_settings['site-name'] ) ) ? $general_settings['site-name'] : wp_strip_all_tags( get_bloginfo( 'name' ) );
$schema['url'] = wp_strip_all_tags( get_bloginfo( 'url' ) );
if ( isset( $contact_type['contact-type'] ) && ! empty( $contact_type['contact-type'] ) || isset( $contact_type['telephone'] ) && ! empty( $contact_type['telephone'] ) || isset( $contact_type['contact-page-id'] ) && ! empty( $contact_type['contact-page-id'] ) ) {
$schema['ContactPoint']['@type'] = 'ContactPoint';
if ( isset( $contact_type['contact-type'] ) && ! empty( $contact_type['contact-type'] ) ) {
if ( 'other' === $contact_type['contact-type'] ) {
$schema ['ContactPoint']['contactType'] = $contact_type['contact-type-other'];
} else {
$schema ['ContactPoint']['contactType'] = $contact_type['contact-type'];
}
}
if ( isset( $contact_type['telephone'] ) && ! empty( $contact_type['telephone'] ) ) {
$schema ['ContactPoint']['telephone'] = $contact_type['telephone'];
}
if ( isset( $contact_type['contact-page-id'] ) && ! empty( $contact_type['contact-page-id'] ) ) {
$page_url = get_permalink( $contact_type['contact-page-id'] );
$schema ['ContactPoint']['url'] = $page_url;
} else {
$schema ['ContactPoint']['url'] = $contact_type['contact-page-id'];
}
if ( isset( $contact_type['email'] ) && ! empty( $contact_type['email'] ) ) {
$schema ['ContactPoint']['email'] = $contact_type['email'];
}
if ( isset( $contactpoint ) && ! empty( $contactpoint ) ) {
$schema ['ContactPoint']['contactOption'] = $contactpoint;
}
if ( isset( $contact_type['areaServed'] ) && ! empty( $contact_type['areaServed'] ) ) {
$language = explode( ',', $contact_type['areaServed'] );
foreach ( $language as $key => $value ) {
$schema ['ContactPoint']['areaServed'][ $key ] = wp_strip_all_tags( $value );
}
}
if ( isset( $contact_type['availableLanguage'] ) && ! empty( $contact_type['availableLanguage'] ) ) {
$language = explode( ',', $contact_type['availableLanguage'] );
foreach ( $language as $key => $value ) {
$schema ['ContactPoint']['availableLanguage'][ $key ] = wp_strip_all_tags( $value );
}
} else {
$schema ['ContactPoint']['availableLanguage'] = 'English';
}
}
$logo_id = get_post_thumbnail_id( $post['ID'] );
if ( isset( $general_settings['site-logo-custom'] ) ) {
$logo_id = isset( $general_settings['site-logo-custom'] ) ? $general_settings['site-logo-custom'] : '';
} elseif ( isset( $general_settings['site-logo'] ) && 'customizer-logo' === $general_settings['site-logo'] ) {
if ( function_exists( 'the_custom_logo' ) && has_custom_logo() ) {
$logo_id = get_theme_mod( 'custom_logo' );
}
}
if ( $logo_id ) {
$key = 'site-logo';
$logo_image = BSF_AIOSRS_Pro_Schema_Template::get_image_object( $logo_id, $key );
$schema['logo'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $logo_image, 'ImageObject' );
}
foreach ( $social_profiles as $type => $social_link ) {
if ( 'other' === $type ) {
foreach ( $social_link as $dynamic_social_link ) {
if ( ! empty( $dynamic_social_link ) ) {
$schema['sameAs'][] = $dynamic_social_link;
}
}
}
if ( ! empty( $social_link ) && ( ! is_array( $social_link ) ) ) {
$schema['sameAs'][] = $social_link;
}
}
return apply_filters( 'wp_schema_pro_global_schema_organization', $schema, $post );
}
}
}
<?php
/**
* Schemas Template.
*
* @package Schema Pro
* @since 1.1.0
*/
if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Global_Organization' ) ) {
/**
* AIOSRS Schemas Initialization
*
* @since 1.1.0
*/
class BSF_AIOSRS_Pro_Schema_Global_Organization {
/**
* Render Schema.
*
* @param array $post Current Post Array.
* @return array
*/
public static function render( $post ) {
$schema = array();
$general_settings = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-general-settings'];
$social_profiles = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-social-profiles'];
$contact_type = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-corporate-contact'];
$contact_hear = isset( $contact_type['contact-hear'] ) ? $contact_type['contact-hear'] : '';
$contact_toll = isset( $contact_type['contact-toll'] ) ? $contact_type['contact-toll'] : '';
$contactpoint = array( $contact_hear, $contact_toll );
$schema['@context'] = 'https://schema.org';
$schema['@type'] = ( isset( $general_settings['organization'] ) && ! empty( $general_settings['organization'] ) ) ? $general_settings['organization'] : 'organization';
$schema['name'] = ( isset( $general_settings['site-name'] ) && ! empty( $general_settings['site-name'] ) ) ? $general_settings['site-name'] : wp_strip_all_tags( get_bloginfo( 'name' ) );
$schema['url'] = wp_strip_all_tags( get_bloginfo( 'url' ) );
if ( isset( $contact_type['contact-type'] ) && ! empty( $contact_type['contact-type'] ) || isset( $contact_type['telephone'] ) && ! empty( $contact_type['telephone'] ) || isset( $contact_type['contact-page-id'] ) && ! empty( $contact_type['contact-page-id'] ) ) {
$schema['ContactPoint']['@type'] = 'ContactPoint';
if ( isset( $contact_type['contact-type'] ) && ! empty( $contact_type['contact-type'] ) ) {
if ( 'other' === $contact_type['contact-type'] ) {
$schema ['ContactPoint']['contactType'] = $contact_type['contact-type-other'];
} else {
$schema ['ContactPoint']['contactType'] = $contact_type['contact-type'];
}
}
if ( isset( $contact_type['telephone'] ) && ! empty( $contact_type['telephone'] ) ) {
$schema ['ContactPoint']['telephone'] = $contact_type['telephone'];
}
if ( isset( $contact_type['contact-page-id'] ) && ! empty( $contact_type['contact-page-id'] ) ) {
$page_url = get_permalink( $contact_type['contact-page-id'] );
$schema ['ContactPoint']['url'] = $page_url;
} else {
$schema ['ContactPoint']['url'] = $contact_type['contact-page-id'];
}
if ( isset( $contact_type['email'] ) && ! empty( $contact_type['email'] ) ) {
$schema ['ContactPoint']['email'] = $contact_type['email'];
}
if ( isset( $contactpoint ) && ! empty( $contactpoint ) ) {
$schema ['ContactPoint']['contactOption'] = $contactpoint;
}
if ( isset( $contact_type['areaServed'] ) && ! empty( $contact_type['areaServed'] ) ) {
$language = explode( ',', $contact_type['areaServed'] );
foreach ( $language as $key => $value ) {
$schema ['ContactPoint']['areaServed'][ $key ] = wp_strip_all_tags( $value );
}
}
if ( isset( $contact_type['availableLanguage'] ) && ! empty( $contact_type['availableLanguage'] ) ) {
$language = explode( ',', $contact_type['availableLanguage'] );
foreach ( $language as $key => $value ) {
$schema ['ContactPoint']['availableLanguage'][ $key ] = wp_strip_all_tags( $value );
}
} else {
$schema ['ContactPoint']['availableLanguage'] = 'English';
}
}
$logo_id = get_post_thumbnail_id( $post['ID'] );
if ( isset( $general_settings['site-logo-custom'] ) ) {
$logo_id = isset( $general_settings['site-logo-custom'] ) ? $general_settings['site-logo-custom'] : '';
} elseif ( isset( $general_settings['site-logo'] ) && 'customizer-logo' === $general_settings['site-logo'] ) {
if ( function_exists( 'the_custom_logo' ) && has_custom_logo() ) {
$logo_id = get_theme_mod( 'custom_logo' );
}
}
if ( $logo_id ) {
$key = 'site-logo';
$logo_image = BSF_AIOSRS_Pro_Schema_Template::get_image_object( $logo_id, $key );
$schema['logo'] = BSF_AIOSRS_Pro_Schema_Template::get_image_schema( $logo_image, 'ImageObject' );
}
foreach ( $social_profiles as $type => $social_link ) {
if ( 'other' === $type ) {
foreach ( $social_link as $dynamic_social_link ) {
if ( ! empty( $dynamic_social_link ) ) {
$schema['sameAs'][] = $dynamic_social_link;
}
}
}
if ( ! empty( $social_link ) && ( ! is_array( $social_link ) ) ) {
$schema['sameAs'][] = $social_link;
}
}
return apply_filters( 'wp_schema_pro_global_schema_organization', $schema, $post );
}
}
}

View File

@@ -1,71 +1,71 @@
<?php
/**
* Schemas Template.
*
* @package Schema Pro
* @since 1.1.0
*/
if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Global_Person' ) ) {
/**
* AIOSRS Schemas Initialization
*
* @since 1.1.0
*/
class BSF_AIOSRS_Pro_Schema_Global_Person {
/**
* Render Schema.
*
* @param array $post Current Post Array.
* @return array
*/
public static function render( $post ) {
$schema = array();
$general_settings = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-general-settings'];
$social_profiles = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-social-profiles'];
$contact_type = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-corporate-contact'];
$schema['@context'] = 'https://schema.org';
$schema['@type'] = 'Person';
$schema['name'] = ( isset( $general_settings['person-name'] ) && ! empty( $general_settings['person-name'] ) ) ? $general_settings['person-name'] : wp_strip_all_tags( get_bloginfo( 'name' ) );
$schema['url'] = wp_strip_all_tags( get_bloginfo( 'url' ) );
if ( isset( $contact_type['contact-type'] ) && ! empty( $contact_type['contact-type'] ) || isset( $contact_type['telephone'] ) && ! empty( $contact_type['telephone'] ) || isset( $contact_type['contact-page-id'] ) && ! empty( $contact_type['contact-page-id'] ) ) {
$schema['ContactPoint']['@type'] = 'ContactPoint';
if ( isset( $contact_type['contact-type'] ) && ! empty( $contact_type['contact-type'] ) ) {
if ( 'other' === $contact_type['contact-type'] ) {
$schema ['ContactPoint']['contactType'] = $contact_type['contact-type-other'];
} else {
$schema ['ContactPoint']['contactType'] = $contact_type['contact-type'];
}
}
if ( isset( $contact_type['telephone'] ) && ! empty( $contact_type['telephone'] ) ) {
$schema ['ContactPoint']['telephone'] = $contact_type['telephone'];
}
if ( isset( $contact_type['contact-page-id'] ) && ! empty( $contact_type['contact-page-id'] ) ) {
$page_url = get_permalink( $contact_type['contact-page-id'] );
$schema ['ContactPoint']['url'] = $page_url;
} else {
$schema ['ContactPoint']['url'] = $contact_type['contact-page-id'];
}
}
foreach ( $social_profiles as $type => $social_link ) {
if ( 'other' === $type ) {
foreach ( $social_link as $dynamic_social_link ) {
if ( ! empty( $dynamic_social_link ) ) {
$schema['sameAs'][] = $dynamic_social_link;
}
}
} else {
if ( ! empty( $social_link ) && ( ! is_array( $social_link ) ) ) {
$schema['sameAs'][] = $social_link;
}
}
}
return apply_filters( 'wp_schema_pro_global_schema_person', $schema, $post );
}
}
}
<?php
/**
* Schemas Template.
*
* @package Schema Pro
* @since 1.1.0
*/
if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Global_Person' ) ) {
/**
* AIOSRS Schemas Initialization
*
* @since 1.1.0
*/
class BSF_AIOSRS_Pro_Schema_Global_Person {
/**
* Render Schema.
*
* @param array $post Current Post Array.
* @return array
*/
public static function render( $post ) {
$schema = array();
$general_settings = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-general-settings'];
$social_profiles = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-social-profiles'];
$contact_type = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-corporate-contact'];
$schema['@context'] = 'https://schema.org';
$schema['@type'] = 'Person';
$schema['name'] = ( isset( $general_settings['person-name'] ) && ! empty( $general_settings['person-name'] ) ) ? $general_settings['person-name'] : wp_strip_all_tags( get_bloginfo( 'name' ) );
$schema['url'] = wp_strip_all_tags( get_bloginfo( 'url' ) );
if ( isset( $contact_type['contact-type'] ) && ! empty( $contact_type['contact-type'] ) || isset( $contact_type['telephone'] ) && ! empty( $contact_type['telephone'] ) || isset( $contact_type['contact-page-id'] ) && ! empty( $contact_type['contact-page-id'] ) ) {
$schema['ContactPoint']['@type'] = 'ContactPoint';
if ( isset( $contact_type['contact-type'] ) && ! empty( $contact_type['contact-type'] ) ) {
if ( 'other' === $contact_type['contact-type'] ) {
$schema ['ContactPoint']['contactType'] = $contact_type['contact-type-other'];
} else {
$schema ['ContactPoint']['contactType'] = $contact_type['contact-type'];
}
}
if ( isset( $contact_type['telephone'] ) && ! empty( $contact_type['telephone'] ) ) {
$schema ['ContactPoint']['telephone'] = $contact_type['telephone'];
}
if ( isset( $contact_type['contact-page-id'] ) && ! empty( $contact_type['contact-page-id'] ) ) {
$page_url = get_permalink( $contact_type['contact-page-id'] );
$schema ['ContactPoint']['url'] = $page_url;
} else {
$schema ['ContactPoint']['url'] = $contact_type['contact-page-id'];
}
}
foreach ( $social_profiles as $type => $social_link ) {
if ( 'other' === $type ) {
foreach ( $social_link as $dynamic_social_link ) {
if ( ! empty( $dynamic_social_link ) ) {
$schema['sameAs'][] = $dynamic_social_link;
}
}
} else {
if ( ! empty( $social_link ) && ( ! is_array( $social_link ) ) ) {
$schema['sameAs'][] = $social_link;
}
}
}
return apply_filters( 'wp_schema_pro_global_schema_person', $schema, $post );
}
}
}

View File

@@ -1,70 +1,70 @@
<?php
/**
* Schemas Template.
*
* @package Schema Pro
* @since 1.1.0
*/
if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Global_Site_Navigation_Element' ) ) {
/**
* AIOSRS Schemas Initialization
*
* @since 1.1.0
*/
class BSF_AIOSRS_Pro_Schema_Global_Site_Navigation_Element {
/**
* Render Schema.
*
* @param array $post Current Post Array.
* @return array
*/
public static function render( $post ) {
$schema = array();
$names = array();
$urls = array();
$settings = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-global-schemas'];
if ( isset( $settings['site-navigation-element'] ) && ! empty( $settings['site-navigation-element'] ) ) {
$navigation_links = wp_get_nav_menu_items( $settings['site-navigation-element'] );
if ( $navigation_links ) {
foreach ( $navigation_links as $link ) {
$names[] = wp_strip_all_tags( $link->title );
$urls[] = esc_url( $link->url );
}
}
}
/**
* Convert normal array into associative array
*/
$combine_array = array_combine( $names, $urls );
$new_arr[] = array();
$j = 0;
foreach ( $combine_array as $key => $value ) {
$new_arr[ $j ]['name'] = $key;
$new_arr[ $j ]['url'] = $value;
$j++;
}
$schema['@context'] = 'https://schema.org';
if ( isset( $new_arr ) && ! empty( $new_arr ) ) {
foreach ( $new_arr as $key2 => $value2 ) {
$schema['@graph'][ $key2 ]['@context'] = 'https://schema.org';
$schema['@graph'][ $key2 ]['@type'] = 'SiteNavigationElement';
$schema['@graph'][ $key2 ]['id'] = 'site-navigation';
$schema['@graph'][ $key2 ]['name'] = isset( $value2['name'] ) ? $value2['name'] : '';
$schema['@graph'][ $key2 ]['url'] = isset( $value2['url'] ) ? $value2['url'] : '';
}
}
return apply_filters( 'wp_schema_pro_global_schema_site_navigation_element', $schema, $post );
}
}
}
<?php
/**
* Schemas Template.
*
* @package Schema Pro
* @since 1.1.0
*/
if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Global_Site_Navigation_Element' ) ) {
/**
* AIOSRS Schemas Initialization
*
* @since 1.1.0
*/
class BSF_AIOSRS_Pro_Schema_Global_Site_Navigation_Element {
/**
* Render Schema.
*
* @param array $post Current Post Array.
* @return array
*/
public static function render( $post ) {
$schema = array();
$names = array();
$urls = array();
$settings = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-global-schemas'];
if ( isset( $settings['site-navigation-element'] ) && ! empty( $settings['site-navigation-element'] ) ) {
$navigation_links = wp_get_nav_menu_items( $settings['site-navigation-element'] );
if ( $navigation_links ) {
foreach ( $navigation_links as $link ) {
$names[] = wp_strip_all_tags( $link->title );
$urls[] = esc_url( $link->url );
}
}
}
/**
* Convert normal array into associative array
*/
$combine_array = array_combine( $names, $urls );
$new_arr[] = array();
$j = 0;
foreach ( $combine_array as $key => $value ) {
$new_arr[ $j ]['name'] = $key;
$new_arr[ $j ]['url'] = $value;
$j++;
}
$schema['@context'] = 'https://schema.org';
if ( isset( $new_arr ) && ! empty( $new_arr ) ) {
foreach ( $new_arr as $key2 => $value2 ) {
$schema['@graph'][ $key2 ]['@context'] = 'https://schema.org';
$schema['@graph'][ $key2 ]['@type'] = 'SiteNavigationElement';
$schema['@graph'][ $key2 ]['id'] = 'site-navigation';
$schema['@graph'][ $key2 ]['name'] = isset( $value2['name'] ) ? $value2['name'] : '';
$schema['@graph'][ $key2 ]['url'] = isset( $value2['url'] ) ? $value2['url'] : '';
}
}
return apply_filters( 'wp_schema_pro_global_schema_site_navigation_element', $schema, $post );
}
}
}

View File

@@ -1,50 +1,50 @@
<?php
/**
* Schemas Template.
*
* @package Schema Pro
* @since 1.1.0
*/
if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Global_Sitelink_Search_Box' ) ) {
/**
* AIOSRS Schemas Initialization
*
* @since 1.1.0
*/
class BSF_AIOSRS_Pro_Schema_Global_Sitelink_Search_Box {
/**
* Render Schema.
*
* @param array $post Current Post Array.
* @return array
*/
public static function render( $post ) {
$schema = array();
$general_settings = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-general-settings'];
$schema['@context'] = 'https://schema.org';
$schema['@type'] = 'WebSite';
$schema['name'] = ( isset( $general_settings['site-name'] ) && ! empty( $general_settings['site-name'] ) ) ? $general_settings['site-name'] : wp_strip_all_tags( get_bloginfo( 'name' ) );
$schema['url'] = home_url();
$potential_action = array();
$template_urls = apply_filters( 'wp_schema_pro_sitelink_srearch_box_template_urls', array( site_url( '?s=' ) ) );
foreach ( $template_urls as $template_url ) {
$potential_action[] = array(
'@type' => 'SearchAction',
'target' => esc_url( $template_url ) . '{search_term_string}',
'query-input' => 'required name=search_term_string',
);
}
$schema['potentialAction'] = $potential_action;
return apply_filters( 'wp_schema_pro_global_schema_sitelink_search_box', $schema, $post );
}
}
}
<?php
/**
* Schemas Template.
*
* @package Schema Pro
* @since 1.1.0
*/
if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Global_Sitelink_Search_Box' ) ) {
/**
* AIOSRS Schemas Initialization
*
* @since 1.1.0
*/
class BSF_AIOSRS_Pro_Schema_Global_Sitelink_Search_Box {
/**
* Render Schema.
*
* @param array $post Current Post Array.
* @return array
*/
public static function render( $post ) {
$schema = array();
$general_settings = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-general-settings'];
$schema['@context'] = 'https://schema.org';
$schema['@type'] = 'WebSite';
$schema['name'] = ( isset( $general_settings['site-name'] ) && ! empty( $general_settings['site-name'] ) ) ? $general_settings['site-name'] : wp_strip_all_tags( get_bloginfo( 'name' ) );
$schema['url'] = home_url();
$potential_action = array();
$template_urls = apply_filters( 'wp_schema_pro_sitelink_srearch_box_template_urls', array( site_url( '?s=' ) ) );
foreach ( $template_urls as $template_url ) {
$potential_action[] = array(
'@type' => 'SearchAction',
'target' => esc_url( $template_url ) . '{search_term_string}',
'query-input' => 'required name=search_term_string',
);
}
$schema['potentialAction'] = $potential_action;
return apply_filters( 'wp_schema_pro_global_schema_sitelink_search_box', $schema, $post );
}
}
}