File Editor
Directories:
.. (Back)
Files:
base-site-information.php
post-site-information.php
term-site-information.php
Create New File
Create
Edit File: term-site-information.php
<?php // phpcs:disable Yoast.NamingConventions.NamespaceName.TooLong namespace Yoast\WP\SEO\Editors\Framework\Site; use WP_Taxonomy; use WP_Term; /** * The Term_Site_Information class. */ class Term_Site_Information extends Base_Site_Information { /** * The taxonomy. * * @var WP_Taxonomy|false */ private $taxonomy; /** * The term. * * @var WP_Term|string|false */ private $term; /** * Sets the term for the information object and retrieves its taxonomy. * * @param WP_Term|string|false $term The term. * * @return void */ public function set_term( $term ) { $this->term = $term; $this->taxonomy = \get_taxonomy( $term->taxonomy ); } /** * Returns term specific site information together with the generic site information. * * @return array<string|string,string[]> */ public function get_site_information(): array { $data = [ 'search_url' => $this->search_url(), 'post_edit_url' => $this->edit_url(), 'base_url' => $this->base_url_for_js(), ]; return \array_merge_recursive( $data, parent::get_site_information() ); } /** * Returns term specific site information together with the generic site information. * * @return array<string|string,string[]> */ public function get_legacy_site_information(): array { $data = [ 'metabox' => [ 'search_url' => $this->search_url(), 'post_edit_url' => $this->edit_url(), 'base_url' => $this->base_url_for_js(), ], ]; return \array_merge_recursive( $data, parent::get_legacy_site_information() ); } /** * Returns the url to search for keyword for the taxonomy. * * @return string */ private function search_url(): string { return \admin_url( 'edit-tags.php?taxonomy=' . $this->term->taxonomy . '&seo_kw_filter={keyword}' ); } /** * Returns the url to edit the taxonomy. * * @return string */ private function edit_url(): string { return \admin_url( 'term.php?action=edit&taxonomy=' . $this->term->taxonomy . '&tag_ID={id}' ); } /** * Returns a base URL for use in the JS, takes permalink structure into account. * * @return string */ private function base_url_for_js(): string { $base_url = \home_url( '/', null ); if ( ! $this->options_helper->get( 'stripcategorybase', false ) ) { if ( $this->taxonomy->rewrite ) { $base_url = \trailingslashit( $base_url . $this->taxonomy->rewrite['slug'] ); } } return $base_url; } }
Save Changes
Rename File
Rename