PluginProbe
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / 28.6
Yoast SEO – Advanced SEO with real-time guidance and built-in AI v28.6
28.6 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 All 130 releases
wordpress-seo / src / services / importing / aioseo / aioseo-robots-transformer-service.php

aioseo-robots-transformer-service.php in Yoast SEO – Advanced SEO with real-time guidance and built-in AI 28.6, at src/services/importing/aioseo/aioseo-robots-transformer-service.php

53 lines 1.7 KB
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 -- Given it's a very specific case.
4 namespace Yoast\WP\SEO\Services\Importing\Aioseo;
5
6 /**
7 * Transforms AISOEO search appearance robot settings.
8 */
9 class Aioseo_Robots_Transformer_Service {
10
11 /**
12 * The robots transfomer service.
13 *
14 * @var Aioseo_Robots_Provider_Service
15 */
16 protected $robots_provider;
17
18 /**
19 * Class constructor.
20 *
21 * @param Aioseo_Robots_Provider_Service $robots_provider The robots provider service.
22 */
23 public function __construct( Aioseo_Robots_Provider_Service $robots_provider ) {
24 $this->robots_provider = $robots_provider;
25 }
26
27 /**
28 * Transforms the robot setting, taking into consideration whether they defer to global defaults.
29 *
30 * @param string $setting_name The name of the robot setting, eg. noindex.
31 * @param bool $setting_value The value of the robot setting.
32 * @param array $mapping The mapping of the setting we're working with.
33 *
34 * @return bool The transformed robot setting.
35 */
36 public function transform_robot_setting( $setting_name, $setting_value, $mapping ) {
37 $aioseo_settings = \json_decode( \get_option( $mapping['option_name'], '' ), true );
38
39 // Let's check first if it defers to global robot settings.
40 if ( empty( $aioseo_settings ) || ! isset( $aioseo_settings['searchAppearance'][ $mapping['type'] ][ $mapping['subtype'] ]['advanced']['robotsMeta']['default'] ) ) {
41 return $setting_value;
42 }
43
44 $defers_to_defaults = $aioseo_settings['searchAppearance'][ $mapping['type'] ][ $mapping['subtype'] ]['advanced']['robotsMeta']['default'];
45
46 if ( $defers_to_defaults ) {
47 return $this->robots_provider->get_global_robot_settings( $setting_name );
48 }
49
50 return $setting_value;
51 }
52 }
53