PluginProbe
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / trunk
Yoast SEO – Advanced SEO with real-time guidance and built-in AI vtrunk
28.5 28.4 28.3 28.2 28.1 28.0 27.9 27.8 27.7 27.6 27.5 trunk 18.0 18.1 18.2 18.3 18.4 18.4.1 18.5 18.5.1 18.6 18.7 18.8 18.9 19.0 All 129 releases
wordpress-seo / src / ai / content-planner / domain / post-list.php

post-list.php in Yoast SEO – Advanced SEO with real-time guidance and built-in AI trunk, at src/ai/content-planner/domain/post-list.php

56 lines 1.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 // phpcs:disable Yoast.NamingConventions.NamespaceName.TooLong -- Needed in the folder structure.
3 namespace Yoast\WP\SEO\AI\Content_Planner\Domain;
4
5 /**
6 * List of posts.
7 */
8 class Post_List {
9
10 /**
11 * The posts.
12 *
13 * @var array<Post>
14 */
15 private $posts = [];
16
17 /**
18 * Adds a post to the list.
19 *
20 * @param Post $post A post.
21 *
22 * @return void
23 */
24 public function add( Post $post ): void {
25 $this->posts[] = $post;
26 }
27
28 /**
29 * Returns this object in array format.
30 *
31 * @return array<array<string, string|bool|array<string, int>>> The posts as an array.
32 */
33 public function to_array(): array {
34 $result = [];
35 foreach ( $this->posts as $post ) {
36 $result[] = $post->to_array();
37 }
38
39 return $result;
40 }
41
42 /**
43 * Returns the minimal array representation suitable for the REST response.
44 *
45 * @return array<array<string, string>> The posts as minimal arrays.
46 */
47 public function to_minimal_array(): array {
48 $result = [];
49 foreach ( $this->posts as $post ) {
50 $result[] = $post->to_minimal_array();
51 }
52
53 return $result;
54 }
55 }
56