From 9d4123cee1867ee7199b06bdc92d40611f547ecc Mon Sep 17 00:00:00 2001 From: Zach van Rijn Date: Wed, 21 Jul 2021 14:54:07 -0500 Subject: Initial unmodified import from Astra (Version: 3.6.5) @ /wp-content/themes/astra/. --- inc/schema/class-astra-breadcrumb-schema.php | 74 +++++++ inc/schema/class-astra-creativework-schema.php | 247 ++++++++++++++++++++++ inc/schema/class-astra-organization-schema.php | 151 +++++++++++++ inc/schema/class-astra-person-schema.php | 148 +++++++++++++ inc/schema/class-astra-schema.php | 68 ++++++ inc/schema/class-astra-site-navigation-schema.php | 62 ++++++ inc/schema/class-astra-wpfooter-schema.php | 62 ++++++ inc/schema/class-astra-wpheader-schema.php | 63 ++++++ inc/schema/class-astra-wpsidebar-schema.php | 62 ++++++ 9 files changed, 937 insertions(+) create mode 100644 inc/schema/class-astra-breadcrumb-schema.php create mode 100644 inc/schema/class-astra-creativework-schema.php create mode 100644 inc/schema/class-astra-organization-schema.php create mode 100644 inc/schema/class-astra-person-schema.php create mode 100644 inc/schema/class-astra-schema.php create mode 100644 inc/schema/class-astra-site-navigation-schema.php create mode 100644 inc/schema/class-astra-wpfooter-schema.php create mode 100644 inc/schema/class-astra-wpheader-schema.php create mode 100644 inc/schema/class-astra-wpsidebar-schema.php (limited to 'inc/schema') diff --git a/inc/schema/class-astra-breadcrumb-schema.php b/inc/schema/class-astra-breadcrumb-schema.php new file mode 100644 index 0000000..e0b35e5 --- /dev/null +++ b/inc/schema/class-astra-breadcrumb-schema.php @@ -0,0 +1,74 @@ +schema_enabled() ) ) { + add_filter( 'astra_breadcrumb_trail_args', array( $this, 'breadcrumb_schema' ) ); + } + } + + /** + * Disable schema by passing false to the 'schema' param to the filter. + * + * @since 2.1.3 + * + * @param array $args An array of default values. + * + * @return array Updated schema param. + */ + public function breadcrumb_schema( $args ) { + $args['schema'] = false; + + return $args; + } + + /** + * Enabled schema + * + * @since 2.1.3 + */ + protected function schema_enabled() { + return apply_filters( 'astra_breadcrumb_schema_enabled', parent::schema_enabled() ); + } + +} + +new Astra_Breadcrumb_Schema(); diff --git a/inc/schema/class-astra-creativework-schema.php b/inc/schema/class-astra-creativework-schema.php new file mode 100644 index 0000000..1707f84 --- /dev/null +++ b/inc/schema/class-astra-creativework-schema.php @@ -0,0 +1,247 @@ +schema_enabled() ) { + return false; + } + + add_filter( 'astra_attr_article-blog', array( $this, 'creative_work_schema' ) ); + add_filter( 'astra_attr_article-page', array( $this, 'creative_work_schema' ) ); + add_filter( 'astra_attr_article-single', array( $this, 'creative_work_schema' ) ); + add_filter( 'astra_attr_article-content', array( $this, 'creative_work_schema' ) ); + add_filter( 'astra_attr_article-title-blog', array( $this, 'article_title_blog_schema_prop' ) ); + add_filter( 'astra_attr_article-title-blog-single', array( $this, 'article_title_blog_single_schema_prop' ) ); + add_filter( 'astra_attr_article-title-content-page', array( $this, 'article_title_content_page_schema_prop' ) ); + add_filter( 'astra_attr_article-title-content', array( $this, 'article_title_content_schema_prop' ) ); + add_filter( 'astra_attr_article-entry-content-blog-layout', array( $this, 'article_content_blog_layout_schema_prop' ) ); + add_filter( 'astra_attr_article-entry-content-page', array( $this, 'article_content_page_schema_prop' ) ); + add_filter( 'astra_attr_article-entry-content', array( $this, 'article_content_schema_prop' ) ); + add_filter( 'astra_attr_article-entry-content-blog-layout-2', array( $this, 'article_content_blog_layout_2_schema_prop' ) ); + add_filter( 'astra_attr_article-entry-content-blog-layout-3', array( $this, 'article_content_blog_layout_3_schema_prop' ) ); + add_filter( 'astra_attr_article-entry-content-single-layout', array( $this, 'article_content_single_layout_schema_prop' ) ); + add_filter( 'astra_post_thumbnail_itemprop', array( $this, 'article_image_schema_prop' ) ); + add_filter( 'astra_attr_article-image-blog-archive', array( $this, 'article_image_blog_archive_schema_prop' ) ); + add_filter( 'astra_attr_article-image-blog-single-post', array( $this, 'article_image_blog_single_post_schema_prop' ) ); + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function creative_work_schema( $attr ) { + $attr['itemtype'] = 'https://schema.org/CreativeWork'; + $attr['itemscope'] = 'itemscope'; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function article_title_blog_schema_prop( $attr ) { + $attr['itemprop'] = 'headline'; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function article_title_blog_single_schema_prop( $attr ) { + $attr['itemprop'] = 'headline'; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function article_title_content_page_schema_prop( $attr ) { + $attr['itemprop'] = 'headline'; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function article_title_content_schema_prop( $attr ) { + $attr['itemprop'] = 'headline'; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function article_content_blog_layout_schema_prop( $attr ) { + $attr['itemprop'] = 'text'; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function article_content_page_schema_prop( $attr ) { + $attr['itemprop'] = 'text'; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function article_content_schema_prop( $attr ) { + $attr['itemprop'] = 'text'; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function article_content_blog_layout_2_schema_prop( $attr ) { + $attr['itemprop'] = 'text'; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function article_content_blog_layout_3_schema_prop( $attr ) { + $attr['itemprop'] = 'text'; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function article_content_single_layout_schema_prop( $attr ) { + $attr['itemprop'] = 'text'; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function article_image_schema_prop( $attr ) { + $attr = 'itemprop=image'; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function article_image_blog_archive_schema_prop( $attr ) { + $attr['itemprop'] = 'image'; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function article_image_blog_single_post_schema_prop( $attr ) { + $attr['itemprop'] = 'image'; + + return $attr; + } + + /** + * Enabled schema + * + * @since 2.1.3 + */ + protected function schema_enabled() { + return apply_filters( 'astra_creativework_schema_enabled', parent::schema_enabled() ); + } + +} + +new Astra_CreativeWork_Schema(); diff --git a/inc/schema/class-astra-organization-schema.php b/inc/schema/class-astra-organization-schema.php new file mode 100644 index 0000000..7e72f4c --- /dev/null +++ b/inc/schema/class-astra-organization-schema.php @@ -0,0 +1,151 @@ +schema_enabled() ) { + return false; + } + + add_filter( 'astra_attr_site-identity', array( $this, 'organization_Schema' ) ); + add_filter( 'astra_attr_site-title', array( $this, 'site_title_attr' ) ); + add_filter( 'astra_attr_site-title-link', array( $this, 'site_title_link_attr' ) ); + add_filter( 'astra_attr_site-title-custom-link', array( $this, 'site_title_custom_link_attr' ) ); + add_filter( 'astra_attr_site-title-sticky-custom-link', array( $this, 'site_title_sticky_custom_link_attr' ) ); + add_filter( 'astra_attr_site-title-none-sticky-custom-link', array( $this, 'site_title_none_sticky_custom_link_attr' ) ); + add_filter( 'astra_attr_site-title-sticky-custom-logo-link', array( $this, 'site_title_sticky_custom_logo_link_attr' ) ); + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function organization_Schema( $attr ) { + $attr['itemtype'] = 'https://schema.org/Organization'; + $attr['itemscope'] = 'itemscope'; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function site_title_attr( $attr ) { + $attr['itemprop'] = 'name'; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function site_title_link_attr( $attr ) { + $attr['itemprop'] = 'url'; + $attr['class'] = ''; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function site_title_custom_link_attr( $attr ) { + $attr['itemprop'] = 'url'; + $attr['class'] = ''; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function site_title_sticky_custom_link_attr( $attr ) { + $attr['itemprop'] = 'url'; + $attr['class'] = ''; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function site_title_none_sticky_custom_link_attr( $attr ) { + $attr['itemprop'] = 'url'; + $attr['class'] = ''; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function site_title_sticky_custom_logo_link_attr( $attr ) { + $attr['itemprop'] = 'url'; + $attr['class'] = ''; + + return $attr; + } + + /** + * Enabled schema + * + * @since 2.1.3 + */ + protected function schema_enabled() { + return apply_filters( 'astra_organization_schema_enabled', parent::schema_enabled() ); + } + +} + +new Astra_Organization_Schema(); diff --git a/inc/schema/class-astra-person-schema.php b/inc/schema/class-astra-person-schema.php new file mode 100644 index 0000000..6097267 --- /dev/null +++ b/inc/schema/class-astra-person-schema.php @@ -0,0 +1,148 @@ +schema_enabled() ) { + return false; + } + + add_filter( 'astra_attr_post-meta-author', array( $this, 'person_Schema' ) ); + add_filter( 'astra_attr_author-name', array( $this, 'author_name_schema_itemprop' ) ); + add_filter( 'astra_attr_author-url', array( $this, 'author_url_schema_itemprop' ) ); + add_filter( 'astra_attr_author-name-info', array( $this, 'author_name_info_schema_itemprop' ) ); + add_filter( 'astra_attr_author-url-info', array( $this, 'author_info_url_schema_itemprop' ) ); + add_filter( 'astra_attr_author-item-info', array( $this, 'author_item_schema_itemprop' ) ); + add_filter( 'astra_attr_author-desc-info', array( $this, 'author_desc_schema_itemprop' ) ); + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function person_Schema( $attr ) { + $attr['itemtype'] = 'https://schema.org/Person'; + $attr['itemscope'] = 'itemscope'; + $attr['itemprop'] = 'author'; + $attr['class'] = 'posted-by vcard author'; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function author_name_schema_itemprop( $attr ) { + $attr['itemprop'] = 'name'; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function author_name_info_schema_itemprop( $attr ) { + $attr['itemprop'] = 'name'; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function author_url_schema_itemprop( $attr ) { + $attr['itemprop'] = 'url'; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function author_info_url_schema_itemprop( $attr ) { + $attr['itemprop'] = 'url'; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function author_desc_schema_itemprop( $attr ) { + $attr['itemprop'] = 'description'; + + return $attr; + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function author_item_schema_itemprop( $attr ) { + $attr['itemprop'] = 'author'; + + return $attr; + } + + /** + * Enabled schema + * + * @since 2.1.3 + */ + protected function schema_enabled() { + return apply_filters( 'astra_person_schema_enabled', parent::schema_enabled() ); + } + +} + +new Astra_Person_Schema(); diff --git a/inc/schema/class-astra-schema.php b/inc/schema/class-astra-schema.php new file mode 100644 index 0000000..d963687 --- /dev/null +++ b/inc/schema/class-astra-schema.php @@ -0,0 +1,68 @@ +include_schemas(); + + add_action( 'wp', array( $this, 'setup_schema' ) ); + } + + /** + * Setup schema + * + * @since 2.1.3 + */ + public function setup_schema() { } + + /** + * Include schema files. + * + * @since 2.1.3 + */ + private function include_schemas() { + // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound + require_once ASTRA_THEME_DIR . 'inc/schema/class-astra-creativework-schema.php'; + require_once ASTRA_THEME_DIR . 'inc/schema/class-astra-wpheader-schema.php'; + require_once ASTRA_THEME_DIR . 'inc/schema/class-astra-wpfooter-schema.php'; + require_once ASTRA_THEME_DIR . 'inc/schema/class-astra-wpsidebar-schema.php'; + require_once ASTRA_THEME_DIR . 'inc/schema/class-astra-person-schema.php'; + require_once ASTRA_THEME_DIR . 'inc/schema/class-astra-organization-schema.php'; + require_once ASTRA_THEME_DIR . 'inc/schema/class-astra-site-navigation-schema.php'; + require_once ASTRA_THEME_DIR . 'inc/schema/class-astra-breadcrumb-schema.php'; + // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound + } + + /** + * Enabled schema + * + * @since 2.1.3 + */ + protected function schema_enabled() { + return apply_filters( 'astra_schema_enabled', true ); + } + +} + +new Astra_Schema(); diff --git a/inc/schema/class-astra-site-navigation-schema.php b/inc/schema/class-astra-site-navigation-schema.php new file mode 100644 index 0000000..356cad5 --- /dev/null +++ b/inc/schema/class-astra-site-navigation-schema.php @@ -0,0 +1,62 @@ +schema_enabled() ) { + return false; + } + + add_filter( 'astra_attr_site-navigation', array( $this, 'site_navigation_schema' ) ); + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function site_navigation_schema( $attr ) { + $attr['itemtype'] = 'https://schema.org/SiteNavigationElement'; + $attr['itemscope'] = 'itemscope'; + + return $attr; + } + + /** + * Enabled schema + * + * @since 2.1.3 + */ + protected function schema_enabled() { + return apply_filters( 'astra_site_navigation_schema_enabled', parent::schema_enabled() ); + } + +} + +new Astra_Site_Navigation_Schema(); diff --git a/inc/schema/class-astra-wpfooter-schema.php b/inc/schema/class-astra-wpfooter-schema.php new file mode 100644 index 0000000..100d94f --- /dev/null +++ b/inc/schema/class-astra-wpfooter-schema.php @@ -0,0 +1,62 @@ +schema_enabled() ) { + return false; + } + + add_filter( 'astra_attr_footer', array( $this, 'wpfooter_Schema' ) ); + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function wpfooter_Schema( $attr ) { + $attr['itemtype'] = 'https://schema.org/WPFooter'; + $attr['itemscope'] = 'itemscope'; + $attr['itemid'] = '#colophon'; + return $attr; + } + + /** + * Enabled schema + * + * @since 2.1.3 + */ + protected function schema_enabled() { + return apply_filters( 'astra_wpfooter_schema_enabled', parent::schema_enabled() ); + } + +} + +new Astra_WPFooter_Schema(); diff --git a/inc/schema/class-astra-wpheader-schema.php b/inc/schema/class-astra-wpheader-schema.php new file mode 100644 index 0000000..0bbd5fe --- /dev/null +++ b/inc/schema/class-astra-wpheader-schema.php @@ -0,0 +1,63 @@ +schema_enabled() ) { + return false; + } + + add_filter( 'astra_attr_header', array( $this, 'wpheader_Schema' ) ); + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function wpheader_Schema( $attr ) { + $attr['itemtype'] = 'https://schema.org/WPHeader'; + $attr['itemscope'] = 'itemscope'; + $attr['itemid'] = '#masthead'; + + return $attr; + } + + /** + * Enabled schema + * + * @since 2.1.3 + */ + protected function schema_enabled() { + return apply_filters( 'astra_wpheader_schema_enabled', parent::schema_enabled() ); + } + +} + +new Astra_WPHeader_Schema(); diff --git a/inc/schema/class-astra-wpsidebar-schema.php b/inc/schema/class-astra-wpsidebar-schema.php new file mode 100644 index 0000000..6254d37 --- /dev/null +++ b/inc/schema/class-astra-wpsidebar-schema.php @@ -0,0 +1,62 @@ +schema_enabled() ) { + return false; + } + + add_filter( 'astra_attr_sidebar', array( $this, 'wpsidebar_Schema' ) ); + } + + /** + * Update Schema markup attribute. + * + * @param array $attr An array of attributes. + * + * @return array Updated embed markup. + */ + public function wpsidebar_Schema( $attr ) { + $attr['itemtype'] = 'https://schema.org/WPSideBar'; + $attr['itemscope'] = 'itemscope'; + + return $attr; + } + + /** + * Enabled schema + * + * @since 2.1.3 + */ + protected function schema_enabled() { + return apply_filters( 'astra_wpsidebar_schema_enabled', parent::schema_enabled() ); + } + +} + +new Astra_WPSideBar_Schema(); -- cgit v1.2.3-60-g2f50