Yoast\WP\SEO\Dashboard\Application\Search_Rankings
Top_Page_Repository{}
The data provider for top page data.
Хуков нет.
Использование
$Top_Page_Repository = new Top_Page_Repository(); // use class methods
Методы
- public __construct(
- public get_data( Parameters $parameters )
Код Top_Page_Repository{} Top Page Repository{} Yoast 25.1
class Top_Page_Repository implements Dashboard_Repository_Interface { /** * The adapter. * * @var Site_Kit_Search_Console_Adapter */ private $site_kit_search_console_adapter; /** * The top page indexable collector. * * @var Top_Page_Indexable_Collector */ private $top_page_indexable_collector; /** * The site kit configuration object. * * @var Site_Kit */ private $site_kit_configuration; /** * The constructor. * * @param Site_Kit_Search_Console_Adapter $site_kit_search_console_adapter The adapter. * @param Top_Page_Indexable_Collector $top_page_indexable_collector The top page indexable collector. * @param Site_Kit $site_kit_configuration The site kit configuration object. */ public function __construct( Site_Kit_Search_Console_Adapter $site_kit_search_console_adapter, Top_Page_Indexable_Collector $top_page_indexable_collector, Site_Kit $site_kit_configuration ) { $this->site_kit_search_console_adapter = $site_kit_search_console_adapter; $this->top_page_indexable_collector = $top_page_indexable_collector; $this->site_kit_configuration = $site_kit_configuration; } /** * Gets the top pages' data. * * @param Parameters $parameters The parameter to use for getting the top pages. * * @return Data_Container * * @throws Data_Source_Not_Available_Exception When this repository is used without the needed prerequisites ready. */ public function get_data( Parameters $parameters ): Data_Container { if ( ! $this->site_kit_configuration->is_onboarded() ) { throw new Data_Source_Not_Available_Exception( 'Top page repository' ); } $top_pages_search_ranking_data = $this->site_kit_search_console_adapter->get_data( $parameters ); $top_pages_full_data = $this->top_page_indexable_collector->get_data( $top_pages_search_ranking_data ); return $top_pages_full_data; } }