PluginProbe
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / 28.3
Yoast SEO – Advanced SEO with real-time guidance and built-in AI v28.3
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 / bulk-editor / domain / posts / posts-list.php

posts-list.php in Yoast SEO – Advanced SEO with real-time guidance and built-in AI 28.3, at src/bulk-editor/domain/posts/posts-list.php

52 lines 967 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 // phpcs:disable Yoast.NamingConventions.NamespaceName.TooLong -- Needed in the folder structure.
4 namespace Yoast\WP\SEO\Bulk_Editor\Domain\Posts;
5
6 /**
7 * This class describes a list of posts.
8 */
9 class Posts_List {
10
11 /**
12 * The posts.
13 *
14 * @var Post[]
15 */
16 private $posts = [];
17
18 /**
19 * Adds a post to the list.
20 *
21 * @param Post $post The post to add.
22 *
23 * @return void
24 */
25 public function add( Post $post ): void {
26 $this->posts[] = $post;
27 }
28
29 /**
30 * Returns the posts in the list.
31 *
32 * @return Post[] The posts in the list.
33 */
34 public function get(): array {
35 return $this->posts;
36 }
37
38 /**
39 * Parses the post list to the expected key value representation.
40 *
41 * @return array<array<string, int|string>> The post list presented as the expected key value representation.
42 */
43 public function to_array(): array {
44 return \array_map(
45 static function ( Post $post ) {
46 return $post->to_array();
47 },
48 $this->posts,
49 );
50 }
51 }
52