관리-도구
편집 파일: RobotsTxt.php
<?php namespace AIOSEO\Plugin\Common\Migration; // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } // phpcs:disable WordPress.Arrays.ArrayDeclarationSpacing.AssociativeArrayFound /** * Migrates the Robots.txt settings from V3. * * @since 4.0.0 */ class RobotsTxt { /** * Class constructor. * * @since 4.0.0 */ public function __construct() { $oldOptions = aioseo()->migration->oldOptions; $rules = aioseo()->options->tools->robots->rules; if ( ! empty( $oldOptions['modules']['aiosp_robots_options'] ) && ! empty( $oldOptions['modules']['aiosp_robots_options']['aiosp_robots_rules'] ) ) { $rules += $this->convertRules( $oldOptions['modules']['aiosp_robots_options']['aiosp_robots_rules'] ); } aioseo()->options->tools->robots->rules = $rules; } /** * Converts the old Robots.txt rules to the new format. * * @since 4.0.0 * * @param array $oldRules The old rules. * @return array $newRules The converted rules. */ private function convertRules( $oldRules ) { $newRules = []; foreach ( $oldRules as $oldRule ) { $newRule = new \stdClass(); $newRule->userAgent = aioseo()->helpers->sanitizeOption( $oldRule['agent'] ); $newRule->rule = aioseo()->helpers->sanitizeOption( lcfirst( $oldRule['type'] ) ); $newRule->directoryPath = aioseo()->helpers->sanitizeOption( $oldRule['path'] ); array_push( $newRules, wp_json_encode( $newRule ) ); } return $newRules; } }