helpers->getPost(); $author = get_queried_object(); if ( ! is_a( $author, 'WP_User' ) && ( is_singular() && ! is_a( $post, 'WP_Post' ) ) ) { return []; } global $wp_query; $articles = []; $authorId = $author->ID ?? $post->post_author ?? 0; foreach ( $wp_query->posts as $post ) { 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 ] ); return $data; } }