class-astra-creativework-schema.php000066600000014251152103702570013444 0ustar00schema_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(); class-astra-schema.php000066600000002712152103702570010740 0ustar00include_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() { 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'; } /** * Enabled schema * * @since 2.1.3 */ protected function schema_enabled() { return apply_filters( 'astra_schema_enabled', true ); } } new Astra_Schema(); class-astra-wpheader-schema.php000066600000002131152103702570012530 0ustar00schema_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'; 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(); class-astra-organization-schema.php000066600000006553152103702570013451 0ustar00schema_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(); class-astra-person-schema.php000066600000006342152103702570012247 0ustar00schema_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(); class-astra-wpfooter-schema.php000066600000002131152103702570012576 0ustar00schema_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'; 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(); class-astra-breadcrumb-schema.php000066600000003130152103702570013037 0ustar00schema_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(); class-astra-wpsidebar-schema.php000066600000002140152103702570012711 0ustar00schema_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(); class-astra-site-navigation-schema.php000066600000002222152103702570014033 0ustar00schema_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();