| Current Path : /home/x/b/o/xbodynamge/namtation/wp-content/ |
| Current File : /home/x/b/o/xbodynamge/namtation/wp-content/ProfilePage.php.tar |
namtation/wp-content/plugins/all-in-one-seo-pack/app/Common/Schema/Graphs/WebPage/ProfilePage.php 0000644 00000004274 15112036536 0031643 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\Integrations\BuddyPress as BuddyPressIntegration;
/**
* ProfilePage graph class.
*
* @since 4.0.0
*/
class ProfilePage extends WebPage {
/**
* The graph type.
*
* @since 4.5.6
*
* @var string
*/
protected $type = 'ProfilePage';
/**
* Returns the graph data.
*
* @since 4.5.4
*
* @return array The graph data.
*/
public function get() {
$data = parent::get();
$post = aioseo()->helpers->getPost();
$author = get_queried_object();
if (
! is_a( $author, 'WP_User' ) &&
( is_singular() && ! is_a( $post, 'WP_Post' ) )
) {
return [];
}
global $wp_query; // phpcs:ignore Squiz.NamingConventions.ValidVariableName
$articles = [];
$authorId = $author->ID ?? $post->post_author ?? 0;
foreach ( $wp_query->posts as $post ) { // phpcs:ignore Squiz.NamingConventions.ValidVariableName
if ( $post->post_author !== $authorId ) {
continue;
}
$articles[] = [
'@type' => 'Article',
'url' => get_permalink( $post->ID ),
'headline' => $post->post_title,
'datePublished' => mysql2date( DATE_W3C, $post->post_date, false ),
'dateModified' => mysql2date( DATE_W3C, $post->post_modified, false ),
'author' => [
'@id' => get_author_posts_url( $authorId ) . '#author'
]
];
}
$data = array_merge( $data, [
'dateCreated' => mysql2date( DATE_W3C, $author->user_registered, false ),
'mainEntity' => [
'@id' => get_author_posts_url( $authorId ) . '#author'
],
'hasPart' => $articles
] );
if (
BuddyPressIntegration::isComponentPage() &&
'bp-member_single' === aioseo()->standalone->buddyPress->component->templateType
) {
if ( ! isset( $data['mainEntity'] ) ) {
$data['mainEntity'] = [];
}
$data['mainEntity']['@type'] = 'Person';
$data['mainEntity']['name'] = aioseo()->standalone->buddyPress->component->author->display_name;
$data['mainEntity']['url'] = BuddyPressIntegration::getComponentSingleUrl( 'member', aioseo()->standalone->buddyPress->component->author->ID );
}
return $data;
}
} dev/wp-content/plugins/all-in-one-seo-pack/app/Common/Schema/Graphs/WebPage/ProfilePage.php 0000644 00000004274 15115635064 0030433 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\Integrations\BuddyPress as BuddyPressIntegration;
/**
* ProfilePage graph class.
*
* @since 4.0.0
*/
class ProfilePage extends WebPage {
/**
* The graph type.
*
* @since 4.5.6
*
* @var string
*/
protected $type = 'ProfilePage';
/**
* Returns the graph data.
*
* @since 4.5.4
*
* @return array The graph data.
*/
public function get() {
$data = parent::get();
$post = aioseo()->helpers->getPost();
$author = get_queried_object();
if (
! is_a( $author, 'WP_User' ) &&
( is_singular() && ! is_a( $post, 'WP_Post' ) )
) {
return [];
}
global $wp_query; // phpcs:ignore Squiz.NamingConventions.ValidVariableName
$articles = [];
$authorId = $author->ID ?? $post->post_author ?? 0;
foreach ( $wp_query->posts as $post ) { // phpcs:ignore Squiz.NamingConventions.ValidVariableName
if ( $post->post_author !== $authorId ) {
continue;
}
$articles[] = [
'@type' => 'Article',
'url' => get_permalink( $post->ID ),
'headline' => $post->post_title,
'datePublished' => mysql2date( DATE_W3C, $post->post_date, false ),
'dateModified' => mysql2date( DATE_W3C, $post->post_modified, false ),
'author' => [
'@id' => get_author_posts_url( $authorId ) . '#author'
]
];
}
$data = array_merge( $data, [
'dateCreated' => mysql2date( DATE_W3C, $author->user_registered, false ),
'mainEntity' => [
'@id' => get_author_posts_url( $authorId ) . '#author'
],
'hasPart' => $articles
] );
if (
BuddyPressIntegration::isComponentPage() &&
'bp-member_single' === aioseo()->standalone->buddyPress->component->templateType
) {
if ( ! isset( $data['mainEntity'] ) ) {
$data['mainEntity'] = [];
}
$data['mainEntity']['@type'] = 'Person';
$data['mainEntity']['name'] = aioseo()->standalone->buddyPress->component->author->display_name;
$data['mainEntity']['url'] = BuddyPressIntegration::getComponentSingleUrl( 'member', aioseo()->standalone->buddyPress->component->author->ID );
}
return $data;
}
}