PluginProbe ʕ •ᴥ•ʔ
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / 27.5
Yoast SEO – Advanced SEO with real-time guidance and built-in AI v27.5
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 19.1 19.10 19.11 19.12 19.13 19.14 19.2 19.3 19.4 19.5 19.5.1 19.6 19.6.1 19.7 19.7.1 19.7.2 19.8 19.9 20.0 20.1 20.10 20.11 20.12 20.13 20.2 20.2.1 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.8.1 21.9 21.9.1 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.8.1 24.9 25.0 25.1 25.2 25.3 25.3.1 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.1.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.1.1 27.2 27.3 27.4
wordpress-seo / admin / class-yoast-columns.php
wordpress-seo / admin Last commit date
ajax 2 years ago capabilities 1 year ago endpoints 2 years ago exceptions 3 months ago filters 3 months ago formatter 1 year ago google_search_console 3 months ago import 3 months ago listeners 8 years ago menu 3 months ago metabox 3 months ago notifiers 3 months ago pages 3 months ago roles 3 months ago services 3 months ago statistics 3 months ago taxonomy 3 months ago tracking 3 months ago views 3 months ago watchers 3 months ago admin-settings-changed-listener.php 2 years ago ajax.php 3 months ago class-admin-asset-analysis-worker-location.php 3 months ago class-admin-asset-dev-server-location.php 3 months ago class-admin-asset-location.php 8 years ago class-admin-asset-manager.php 3 months ago class-admin-asset-seo-location.php 4 years ago class-admin-editor-specific-replace-vars.php 3 months ago class-admin-gutenberg-compatibility-notification.php 3 months ago class-admin-help-panel.php 3 months ago class-admin-init.php 3 months ago class-admin-recommended-replace-vars.php 2 years ago class-admin-user-profile.php 7 months ago class-admin-utils.php 3 months ago class-admin.php 3 months ago class-asset.php 1 year ago class-bulk-description-editor-list-table.php 3 months ago class-bulk-editor-list-table.php 3 months ago class-bulk-title-editor-list-table.php 3 months ago class-collector.php 1 year ago class-config.php 3 months ago class-database-proxy.php 3 months ago class-export.php 3 months ago class-expose-shortlinks.php 7 months ago class-gutenberg-compatibility.php 1 month ago class-meta-columns.php 3 months ago class-my-yoast-proxy.php 3 months ago class-option-tab.php 4 years ago class-option-tabs-formatter.php 3 months ago class-option-tabs.php 2 years ago class-paper-presenter.php 5 years ago class-plugin-availability.php 3 months ago class-plugin-conflict.php 2 years ago class-premium-popup.php 1 year ago class-premium-upsell-admin-block.php 3 months ago class-primary-term-admin.php 3 months ago class-product-upsell-notice.php 3 months ago class-remote-request.php 2 years ago class-schema-person-upgrade-notification.php 3 months ago class-suggested-plugins.php 3 months ago class-wincher-dashboard-widget.php 3 months ago class-yoast-columns.php 3 months ago class-yoast-dashboard-widget.php 3 months ago class-yoast-form.php 3 months ago class-yoast-input-validation.php 3 months ago class-yoast-network-admin.php 3 months ago class-yoast-network-settings-api.php 3 months ago class-yoast-notification-center.php 3 months ago class-yoast-notification.php 3 months ago class-yoast-notifications.php 3 months ago class-yoast-plugin-conflict.php 3 months ago index.php 10 years ago interface-collection.php 7 years ago interface-installable.php 8 years ago
class-yoast-columns.php
118 lines
1 <?php
2 /**
3 * WPSEO plugin file.
4 *
5 * @package WPSEO\Admin
6 */
7
8 /**
9 * Represents the yoast columns.
10 */
11 class WPSEO_Yoast_Columns implements WPSEO_WordPress_Integration {
12
13 /**
14 * Registers all hooks to WordPress.
15 *
16 * @return void
17 */
18 public function register_hooks() {
19 add_action( 'load-edit.php', [ $this, 'add_help_tab' ] );
20 }
21
22 /**
23 * Adds the help tab to the help center for current screen.
24 *
25 * @return void
26 */
27 public function add_help_tab() {
28 $link_columns_present = $this->display_links();
29 $meta_columns_present = $this->display_meta_columns();
30 if ( ! ( $link_columns_present || $meta_columns_present ) ) {
31 return;
32 }
33
34 $help_tab_content = sprintf(
35 /* translators: %1$s: Yoast SEO */
36 __( '%1$s adds several columns to this page.', 'wordpress-seo' ),
37 'Yoast SEO',
38 );
39
40 if ( $meta_columns_present ) {
41 $help_tab_content .= ' ' . sprintf(
42 /* translators: %1$s: Link to article about content analysis, %2$s: Anchor closing */
43 __( 'We\'ve written an article about %1$show to use the SEO score and Readability score%2$s.', 'wordpress-seo' ),
44 '<a href="' . WPSEO_Shortlinker::get( 'https://yoa.st/16p' ) . '">',
45 '</a>',
46 );
47 }
48
49 if ( $link_columns_present ) {
50 $help_tab_content .= ' ' . sprintf(
51 /* translators: %1$s: Link to article about text links, %2$s: Anchor closing tag, %3$s: Emphasis open tag, %4$s: Emphasis close tag */
52 __( 'The links columns show the number of articles on this site linking %3$sto%4$s this article and the number of URLs linked %3$sfrom%4$s this article. Learn more about %1$show to use these features to improve your internal linking%2$s, which greatly enhances your SEO.', 'wordpress-seo' ),
53 '<a href="' . WPSEO_Shortlinker::get( 'https://yoa.st/16p' ) . '">',
54 '</a>',
55 '<em>',
56 '</em>',
57 );
58 }
59
60 $screen = get_current_screen();
61 $screen->add_help_tab(
62 [
63 /* translators: %s expands to Yoast */
64 'title' => sprintf( __( '%s Columns', 'wordpress-seo' ), 'Yoast' ),
65 'id' => 'yst-columns',
66 'content' => '<p>' . $help_tab_content . '</p>',
67 'priority' => 15,
68 ],
69 );
70 }
71
72 /**
73 * Retrieves the post type from the $_GET variable.
74 *
75 * @return string The current post type.
76 */
77 private function get_current_post_type() {
78 // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Reason: We are not processing form information.
79 if ( isset( $_GET['post_type'] ) && is_string( $_GET['post_type'] ) ) {
80 // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Reason: We are not processing form information.
81 return sanitize_text_field( wp_unslash( $_GET['post_type'] ) );
82 }
83 return '';
84 }
85
86 /**
87 * Whether we are showing link columns on this overview page.
88 * This depends on the post being accessible or not.
89 *
90 * @return bool Whether the linking columns are shown
91 */
92 private function display_links() {
93 $current_post_type = $this->get_current_post_type();
94
95 if ( empty( $current_post_type ) ) {
96 return false;
97 }
98
99 return WPSEO_Post_Type::is_post_type_accessible( $current_post_type );
100 }
101
102 /**
103 * Wraps the WPSEO_Metabox check to determine whether the metabox should be displayed either by
104 * choice of the admin or because the post type is not a public post type.
105 *
106 * @return bool Whether the meta box (and associated columns etc) should be hidden.
107 */
108 private function display_meta_columns() {
109 $current_post_type = $this->get_current_post_type();
110
111 if ( empty( $current_post_type ) ) {
112 return false;
113 }
114
115 return WPSEO_Utils::is_metabox_active( $current_post_type, 'post_type' );
116 }
117 }
118