| Current Path : /home/x/b/o/xbodynamge/namtation/wp-content/ |
| Current File : /home/x/b/o/xbodynamge/namtation/wp-content/PersonAuthor.php.tar |
namtation/wp-content/plugins/all-in-one-seo-pack/app/Common/Schema/Graphs/WebPage/PersonAuthor.php 0000644 00000004016 15114357544 0032100 0 ustar 00 home/xbodynamge <?php
namespace AIOSEO\Plugin\Common\Schema\Graphs\WebPage;
// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
use AIOSEO\Plugin\Common\Schema\Graphs;
/**
* Person Author graph class.
* This a secondary Person graph for post authors and BuddyPress profile pages.
*
* @since 4.0.0
*/
class PersonAuthor extends Graphs\Graph {
/**
* Returns the graph data.
*
* @since 4.0.0
*
* @param int $userId The user ID.
* @return array $data The graph data.
*/
public function get( $userId = null ) {
$post = aioseo()->helpers->getPost();
$user = get_queried_object();
$isAuthorPage = is_author() && is_a( $user, 'WP_User' );
if (
(
( ! is_singular() && ! $isAuthorPage ) ||
( is_singular() && ! is_a( $post, 'WP_Post' ) )
) &&
! $userId
) {
return [];
}
// Dynamically determine the User ID.
if ( ! $userId ) {
$userId = $isAuthorPage ? $user->ID : $post->post_author;
if ( function_exists( 'bp_is_user' ) && bp_is_user() ) {
$userId = intval( wp_get_current_user()->ID );
}
}
if ( ! $userId ) {
return [];
}
$authorUrl = get_author_posts_url( $userId );
$data = [
'@type' => 'Person',
'@id' => $authorUrl . '#author',
'url' => $authorUrl,
'name' => get_the_author_meta( 'display_name', $userId )
];
$avatar = $this->avatar( $userId, 'authorImage' );
if ( $avatar ) {
$data['image'] = $avatar;
}
$socialUrls = array_values( $this->getUserProfiles( $userId ) );
if ( $socialUrls ) {
$data['sameAs'] = $socialUrls;
}
if ( is_author() ) {
$data['mainEntityOfPage'] = [
'@id' => aioseo()->schema->context['url'] . '#profilepage'
];
}
// Check if our addons need to modify this graph.
$addonsPersonAuthorData = array_filter( aioseo()->addons->doAddonFunction( 'personAuthor', 'get', [
'userId' => $userId,
'data' => $data
] ) );
foreach ( $addonsPersonAuthorData as $addonPersonAuthorData ) {
$data = array_merge( $data, $addonPersonAuthorData );
}
return $data;
}
} dev/wp-content/plugins/all-in-one-seo-pack/app/Common/Schema/Graphs/WebPage/PersonAuthor.php 0000644 00000004016 15115330661 0030654 0 ustar 00 home/xbodynamge <?php
namespace AIOSEO\Plugin\Common\Schema\Graphs\WebPage;
// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
use AIOSEO\Plugin\Common\Schema\Graphs;
/**
* Person Author graph class.
* This a secondary Person graph for post authors and BuddyPress profile pages.
*
* @since 4.0.0
*/
class PersonAuthor extends Graphs\Graph {
/**
* Returns the graph data.
*
* @since 4.0.0
*
* @param int $userId The user ID.
* @return array $data The graph data.
*/
public function get( $userId = null ) {
$post = aioseo()->helpers->getPost();
$user = get_queried_object();
$isAuthorPage = is_author() && is_a( $user, 'WP_User' );
if (
(
( ! is_singular() && ! $isAuthorPage ) ||
( is_singular() && ! is_a( $post, 'WP_Post' ) )
) &&
! $userId
) {
return [];
}
// Dynamically determine the User ID.
if ( ! $userId ) {
$userId = $isAuthorPage ? $user->ID : $post->post_author;
if ( function_exists( 'bp_is_user' ) && bp_is_user() ) {
$userId = intval( wp_get_current_user()->ID );
}
}
if ( ! $userId ) {
return [];
}
$authorUrl = get_author_posts_url( $userId );
$data = [
'@type' => 'Person',
'@id' => $authorUrl . '#author',
'url' => $authorUrl,
'name' => get_the_author_meta( 'display_name', $userId )
];
$avatar = $this->avatar( $userId, 'authorImage' );
if ( $avatar ) {
$data['image'] = $avatar;
}
$socialUrls = array_values( $this->getUserProfiles( $userId ) );
if ( $socialUrls ) {
$data['sameAs'] = $socialUrls;
}
if ( is_author() ) {
$data['mainEntityOfPage'] = [
'@id' => aioseo()->schema->context['url'] . '#profilepage'
];
}
// Check if our addons need to modify this graph.
$addonsPersonAuthorData = array_filter( aioseo()->addons->doAddonFunction( 'personAuthor', 'get', [
'userId' => $userId,
'data' => $data
] ) );
foreach ( $addonsPersonAuthorData as $addonPersonAuthorData ) {
$data = array_merge( $data, $addonPersonAuthorData );
}
return $data;
}
}