PluginProbe
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / 27.8
Yoast SEO – Advanced SEO with real-time guidance and built-in AI v27.8
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 / admin / formatter / class-metabox-formatter.php

class-metabox-formatter.php in Yoast SEO – Advanced SEO with real-time guidance and built-in AI 27.8, at admin/formatter/class-metabox-formatter.php

82 lines 2.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * WPSEO plugin file.
4 *
5 * @package WPSEO\Admin\Formatter
6 */
7
8 use Yoast\WP\SEO\Config\Schema_Types;
9 use Yoast\WP\SEO\Editors\Application\Analysis_Features\Enabled_Analysis_Features_Repository;
10 use Yoast\WP\SEO\Editors\Application\Integrations\Integration_Information_Repository;
11
12 /**
13 * This class forces needed methods for the metabox localization.
14 */
15 class WPSEO_Metabox_Formatter {
16
17 /**
18 * Object that provides formatted values.
19 *
20 * @var WPSEO_Metabox_Formatter_Interface
21 */
22 private $formatter;
23
24 /**
25 * Setting the formatter property.
26 *
27 * @param WPSEO_Metabox_Formatter_Interface $formatter Object that provides the formatted values.
28 */
29 public function __construct( WPSEO_Metabox_Formatter_Interface $formatter ) {
30 $this->formatter = $formatter;
31 }
32
33 /**
34 * Returns the values.
35 *
36 * @return array<string, string|array<string|int|bool>|bool|int>
37 */
38 public function get_values() {
39 $defaults = $this->get_defaults();
40 $values = $this->formatter->get_values();
41
42 return ( $values + $defaults );
43 }
44
45 /**
46 * Returns array with all the values always needed by a scraper object.
47 *
48 * @return array<string, string|array<string|int|bool>|bool|int> Default settings for the metabox.
49 */
50 private function get_defaults() {
51 $schema_types = new Schema_Types();
52
53 $defaults = [
54 'author_name' => get_the_author_meta( 'display_name' ),
55 'keyword_usage' => [],
56 'title_template' => '',
57 'metadesc_template' => '',
58 'schema' => [
59 'displayFooter' => WPSEO_Capability_Utils::current_user_can( 'wpseo_manage_options' ),
60 'pageTypeOptions' => $schema_types->get_page_type_options(),
61 'articleTypeOptions' => $schema_types->get_article_type_options(),
62 ],
63 'twitterCardType' => 'summary_large_image',
64 /**
65 * Filter to determine if the markers should be enabled or not.
66 *
67 * @param bool $showMarkers Should the markers being enabled. Default = true.
68 */
69 'show_markers' => apply_filters( 'wpseo_enable_assessment_markers', true ),
70 ];
71
72 $integration_information_repo = YoastSEO()->classes->get( Integration_Information_Repository::class );
73
74 $enabled_integrations = $integration_information_repo->get_integration_information();
75 $defaults = array_merge( $defaults, $enabled_integrations );
76 $enabled_features_repo = YoastSEO()->classes->get( Enabled_Analysis_Features_Repository::class );
77
78 $enabled_features = $enabled_features_repo->get_enabled_features()->parse_to_legacy_array();
79 return array_merge( $defaults, $enabled_features );
80 }
81 }
82