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-person-schema.php | 148 +++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 inc/schema/class-astra-person-schema.php (limited to 'inc/schema/class-astra-person-schema.php') 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(); -- cgit v1.2.3-70-g09d2