PluginProbe
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / 28.0
Yoast SEO – Advanced SEO with real-time guidance and built-in AI v28.0
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 / class-expose-shortlinks.php

class-expose-shortlinks.php in Yoast SEO – Advanced SEO with real-time guidance and built-in AI 28.0, at admin/class-expose-shortlinks.php

130 lines 7.1 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
6 */
7
8 /**
9 * Exposes shortlinks in a global, so that we can pass them to our Javascript components.
10 */
11 class WPSEO_Expose_Shortlinks implements WPSEO_WordPress_Integration {
12
13 /**
14 * Array containing the keys and shortlinks.
15 *
16 * @var array
17 */
18 private $shortlinks = [
19 'shortlinks.advanced.allow_search_engines' => 'https://yoa.st/allow-search-engines',
20 'shortlinks.advanced.follow_links' => 'https://yoa.st/follow-links',
21 'shortlinks.advanced.meta_robots' => 'https://yoa.st/meta-robots-advanced',
22 'shortlinks.advanced.breadcrumbs_title' => 'https://yoa.st/breadcrumbs-title',
23 'shortlinks.metabox.schema.explanation' => 'https://yoa.st/400',
24 'shortlinks.metabox.schema.page_type' => 'https://yoa.st/402',
25 'shortlinks.sidebar.schema.explanation' => 'https://yoa.st/401',
26 'shortlinks.sidebar.schema.page_type' => 'https://yoa.st/403',
27 'shortlinks.focus_keyword_info' => 'https://yoa.st/focus-keyword',
28 'shortlinks.nofollow_sponsored' => 'https://yoa.st/nofollow-sponsored',
29 'shortlinks.snippet_preview_info' => 'https://yoa.st/snippet-preview',
30 'shortlinks.cornerstone_content_info' => 'https://yoa.st/1i9',
31 'shortlinks.upsell.social_preview.social' => 'https://yoa.st/social-preview-facebook',
32 'shortlinks.upsell.social_preview.x' => 'https://yoa.st/social-preview-twitter',
33 'shortlinks.upsell.sidebar.news' => 'https://yoa.st/get-news-sidebar',
34 'shortlinks.upsell.sidebar.premium_seo_analysis_button' => 'https://yoa.st/premium-seo-analysis-sidebar',
35 'shortlinks.upsell.sidebar.additional_link' => 'https://yoa.st/textlink-keywords-sidebar',
36 'shortlinks.upsell.sidebar.additional_button' => 'https://yoa.st/add-keywords-sidebar',
37 'shortlinks.upsell.sidebar.word_complexity' => 'https://yoa.st/word-complexity-sidebar',
38 'shortlinks.upsell.sidebar.internal_linking_suggestions' => 'https://yoa.st/internal-linking-suggestions-sidebar',
39 'shortlinks.upsell.sidebar.highlighting_seo_analysis' => 'https://yoa.st/highlighting-seo-analysis',
40 'shortlinks.upsell.sidebar.highlighting_readability_analysis' => 'https://yoa.st/highlighting-readability-analysis',
41 'shortlinks.upsell.sidebar.highlighting_inclusive_analysis' => 'https://yoa.st/highlighting-inclusive-analysis',
42 'shortlinks.upsell.sidebar.content_blocks' => 'https://yoa.st/content-blocks-sidebar',
43 'shortlinks.upsell.metabox.news' => 'https://yoa.st/get-news-metabox',
44 'shortlinks.upsell.metabox.go_premium' => 'https://yoa.st/pe-premium-page',
45 'shortlinks.upsell.metabox.premium_seo_analysis_button' => 'https://yoa.st/premium-seo-analysis-metabox',
46 'shortlinks.upsell.metabox.additional_link' => 'https://yoa.st/textlink-keywords-metabox',
47 'shortlinks.upsell.metabox.additional_button' => 'https://yoa.st/add-keywords-metabox',
48 'shortlinks.upsell.metabox.word_complexity' => 'https://yoa.st/word-complexity-metabox',
49 'shortlinks.upsell.metabox.internal_linking_suggestions' => 'https://yoa.st/internal-linking-suggestions-metabox',
50 'shortlinks.upsell.metabox.content_blocks' => 'https://yoa.st/content-blocks-metabox',
51 'shortlinks.upsell.gsc.create_redirect_button' => 'https://yoa.st/redirects',
52 'shortlinks.readability_analysis_info' => 'https://yoa.st/readability-analysis',
53 'shortlinks.inclusive_language_analysis_info' => 'https://yoa.st/inclusive-language-analysis',
54 'shortlinks.activate_premium_info' => 'https://yoa.st/activate-subscription',
55 'shortlinks.wincher.seo_performance' => 'https://yoa.st/wincher-integration',
56 'shortlinks-insights-estimated_reading_time' => 'https://yoa.st/4fd',
57 'shortlinks-insights-flesch_reading_ease' => 'https://yoa.st/34r',
58 'shortlinks-insights-flesch_reading_ease_sidebar' => 'https://yoa.st/4mf',
59 'shortlinks-insights-flesch_reading_ease_metabox' => 'https://yoa.st/4mg',
60 'shortlinks-insights-flesch_reading_ease_article' => 'https://yoa.st/34s',
61 'shortlinks-insights-keyword_research_link' => 'https://yoa.st/keyword-research-metabox',
62 'shortlinks-insights-upsell-sidebar-prominent_words' => 'https://yoa.st/prominent-words-upsell-sidebar',
63 'shortlinks-insights-upsell-metabox-prominent_words' => 'https://yoa.st/prominent-words-upsell-metabox',
64 'shortlinks-insights-upsell-elementor-prominent_words' => 'https://yoa.st/prominent-words-upsell-elementor',
65 'shortlinks-insights-word_count' => 'https://yoa.st/word-count',
66 'shortlinks-insights-upsell-sidebar-text_formality' => 'https://yoa.st/formality-upsell-sidebar',
67 'shortlinks-insights-upsell-metabox-text_formality' => 'https://yoa.st/formality-upsell-metabox',
68 'shortlinks-insights-upsell-elementor-text_formality' => 'https://yoa.st/formality-upsell-elementor',
69 'shortlinks-insights-text_formality_info_free' => 'https://yoa.st/formality-free',
70 'shortlinks-insights-text_formality_info_premium' => 'https://yoa.st/formality',
71 ];
72
73 /**
74 * Registers all hooks to WordPress.
75 *
76 * @return void
77 */
78 public function register_hooks() {
79 add_filter( 'wpseo_admin_l10n', [ $this, 'expose_shortlinks' ] );
80 }
81
82 /**
83 * Adds shortlinks to the passed array.
84 *
85 * @param array $input The array to add shortlinks to.
86 *
87 * @return array The passed array with the additional shortlinks.
88 */
89 public function expose_shortlinks( $input ) {
90 foreach ( $this->get_shortlinks() as $key => $shortlink ) {
91 $input[ $key ] = WPSEO_Shortlinker::get( $shortlink );
92 }
93
94 $input['default_query_params'] = WPSEO_Shortlinker::get_query_params();
95
96 return $input;
97 }
98
99 /**
100 * Retrieves the shortlinks.
101 *
102 * @return array The shortlinks.
103 */
104 private function get_shortlinks() {
105 if ( ! $this->is_term_edit() ) {
106 return $this->shortlinks;
107 }
108
109 $shortlinks = $this->shortlinks;
110
111 $shortlinks['shortlinks.upsell.metabox.additional_link'] = 'https://yoa.st/textlink-keywords-metabox-term';
112 $shortlinks['shortlinks.upsell.metabox.additional_button'] = 'https://yoa.st/add-keywords-metabox-term';
113 $shortlinks['shortlinks.upsell.metabox.word_complexity'] = 'https://yoa.st/word-complexity-metabox-term';
114 $shortlinks['shortlinks.upsell.metabox.internal_linking_suggestions'] = 'https://yoa.st/internal-linking-suggestions-metabox-term';
115
116 return $shortlinks;
117 }
118
119 /**
120 * Checks if the current page is a term edit page.
121 *
122 * @return bool True when page is term edit.
123 */
124 private function is_term_edit() {
125 global $pagenow;
126
127 return WPSEO_Taxonomy::is_term_edit( $pagenow );
128 }
129 }
130