Submit
Path:
~
/
home
/
bfxleof
/
www
/
wp-content
/
plugins
/
wordpress-seo
/
File Content:
class-taxonomy-columns.php
<?php /** * WPSEO plugin file. * * @package WPSEO\Admin */ /** * This class adds columns to the taxonomy table. */ class WPSEO_Taxonomy_Columns { /** * The SEO analysis. * * @var WPSEO_Metabox_Analysis_SEO */ private $analysis_seo; /** * The readability analysis. * * @var WPSEO_Metabox_Analysis_Readability */ private $analysis_readability; /** * The current taxonomy. * * @var string */ private $taxonomy; /** * WPSEO_Taxonomy_Columns constructor. */ public function __construct() { $this->taxonomy = $this->get_taxonomy(); if ( ! empty( $this->taxonomy ) ) { add_filter( 'manage_edit-' . $this->taxonomy . '_columns', [ $this, 'add_columns' ] ); add_filter( 'manage_' . $this->taxonomy . '_custom_column', [ $this, 'parse_column' ], 10, 3 ); } $this->analysis_seo = new WPSEO_Metabox_Analysis_SEO(); $this->analysis_readability = new WPSEO_Metabox_Analysis_Readability(); } /** * Adds an SEO score column to the terms table, right after the description column. * * @param array $columns Current set columns. * * @return array */ public function add_columns( array $columns ) { if ( $this->display_metabox( $this->taxonomy ) === false ) { return $columns; } $new_columns = []; foreach ( $columns as $column_name => $column_value ) { $new_columns[ $column_name ] = $column_value; if ( $column_name === 'description' && $this->analysis_seo->is_enabled() ) { $new_columns['wpseo-score'] = '<span class="yoast-tooltip yoast-tooltip-n yoast-tooltip-alt" data-label="' . esc_attr__( 'SEO score', 'wordpress-seo' ) . '"><span class="yoast-column-seo-score yoast-column-header-has-tooltip"><span class="screen-reader-text">' . __( 'SEO score', 'wordpress-seo' ) . '</span></span></span>'; } if ( $column_name === 'description' && $this->analysis_readability->is_enabled() ) { $new_columns['wpseo-score-readability'] = '<span class="yoast-tooltip yoast-tooltip-n yoast-tooltip-alt" data-label="' . esc_attr__( 'Readability score', 'wordpress-seo' ) . '"><span class="yoast-column-readability yoast-column-header-has-tooltip"><span class="screen-reader-text">' . __( 'Readability score', 'wordpress-seo' ) . '</span></span></span>'; } } return $new_columns; } /** * Parses the column. * * @param string $content The current content of the column. * @param string $column_name The name of the column. * @param int $term_id ID of requested taxonomy. * * @return string */ public function parse_column( $content, $column_name, $term_id ) { switch ( $column_name ) { case 'wpseo-score': return $this->get_score_value( $term_id ); case 'wpseo-score-readability': return $this->get_score_readability_value( $term_id ); } return $content; } /** * Retrieves the taxonomy from the $_GET variable. * * @return string The current taxonomy. */ public function get_current_taxonomy() { return filter_input( $this->get_taxonomy_input_type(), 'taxonomy' ); } /** * Returns the posted/get taxonomy value if it is set. * * @return string|null */ private function get_taxonomy() { if ( wp_doing_ajax() ) { return FILTER_INPUT( INPUT_POST, 'taxonomy' ); } return FILTER_INPUT( INPUT_GET, 'taxonomy' ); } /** * Parses the value for the score column. * * @param int $term_id ID of requested term. * * @return string */ private function get_score_value( $term_id ) { $term = get_term( $term_id, $this->taxonomy ); // When the term isn't indexable. if ( ! $this->is_indexable( $term ) ) { return $this->create_score_icon( new WPSEO_Rank( WPSEO_Rank::NO_INDEX ), __( 'Term is set to noindex.', 'wordpress-seo' ) ); } // When there is a focus key word. $focus_keyword = $this->get_focus_keyword( $term ); $score = (int) WPSEO_Taxonomy_Meta::get_term_meta( $term_id, $this->taxonomy, 'linkdex' ); $rank = WPSEO_Rank::from_numeric_score( $score ); return $this->create_score_icon( $rank, $rank->get_label() ); } /** * Parses the value for the readability score column. * * @param int $term_id ID of the requested term. * * @return string The HTML for the readability score indicator. */ private function get_score_readability_value( $term_id ) { $score = (int) WPSEO_Taxonomy_Meta::get_term_meta( $term_id, $this->taxonomy, 'content_score' ); $rank = WPSEO_Rank::from_numeric_score( $score ); return $this->create_score_icon( $rank ); } /** * Creates an icon by the given values. * * @param WPSEO_Rank $rank The ranking object. * @param string $title Optional. The title to show. Defaults to the rank label. * * @return string The HTML for a score icon. */ private function create_score_icon( WPSEO_Rank $rank, $title = '' ) { if ( empty( $title ) ) { $title = $rank->get_label(); } return '<div aria-hidden="true" title="' . esc_attr( $title ) . '" class="wpseo-score-icon ' . esc_attr( $rank->get_css_class() ) . '"></div><span class="screen-reader-text wpseo-score-text">' . $title . '</span>'; } /** * Check if the taxonomy is indexable. * * @param mixed $term The current term. * * @return bool Whether or not the term is indexable. */ private function is_indexable( $term ) { // When the no_index value is not empty and not default, check if its value is index. $no_index = WPSEO_Taxonomy_Meta::get_term_meta( $term->term_id, $this->taxonomy, 'noindex' ); // Check if the default for taxonomy is empty (this will be index). if ( ! empty( $no_index ) && $no_index !== 'default' ) { return ( $no_index === 'index' ); } if ( is_object( $term ) ) { $no_index_key = 'noindex-tax-' . $term->taxonomy; // If the option is false, this means we want to index it. return WPSEO_Options::get( $no_index_key, false ) === false; } return true; } /** * Returns the focus keyword if this is set, otherwise it will give the term name. * * @param stdClass|WP_Term $term The current term. * * @return string */ private function get_focus_keyword( $term ) { $focus_keyword = WPSEO_Taxonomy_Meta::get_term_meta( 'focuskw', $term->term_id, $term->taxonomy ); if ( $focus_keyword !== false ) { return $focus_keyword; } return $term->name; } /** * Checks if a taxonomy is being added via a POST method. If not, it defaults to a GET request. * * @return int */ private function get_taxonomy_input_type() { if ( ! empty( $_SERVER['REQUEST_METHOD'] ) && $_SERVER['REQUEST_METHOD'] === 'POST' ) { return INPUT_POST; } return INPUT_GET; } /** * Wraps the WPSEO_Metabox check to determine whether the metabox should be displayed either by * choice of the admin or because the taxonomy is not public. * * @since 7.0 * * @param string|null $taxonomy Optional. The taxonomy to test, defaults to the current taxonomy. * * @return bool Whether or not the meta box (and associated columns etc) should be hidden. */ private function display_metabox( $taxonomy = null ) { $current_taxonomy = sanitize_text_field( $this->get_current_taxonomy() ); if ( ! isset( $taxonomy ) && ! empty( $current_taxonomy ) ) { $taxonomy = $current_taxonomy; } return WPSEO_Utils::is_metabox_active( $taxonomy, 'taxonomy' ); } }
Edit
Rename
Chmod
Delete
FILE
FOLDER
Name
Size
Permission
Action
admin
---
0755
css
---
0755
images
---
0755
inc
---
0755
js
---
0755
languages
---
0755
lib
---
0755
packages
---
0755
src
---
0755
vendor
---
0755
vendor_prefixed
---
0755
.DS_Store
10234 bytes
0644
20200616130143_ReplacePermalinkHashIndex.php
2293 bytes
0644
AjaxController.php
2162 bytes
0644
DownloadConfController-20260705090145.php
945 bytes
0644
DownloadConfController.php
945 bytes
0644
JsonSerializable-20260705095652.php
577 bytes
0644
JsonSerializable.php
577 bytes
0644
LimitStream.php
4209 bytes
0644
MessageInterface.php
6950 bytes
0644
README.md
2555 bytes
0644
RequestInterface.php
4894 bytes
0644
ResponseInterface.php
2639 bytes
0644
article-modified-time-presenter.php
609 bytes
0644
bing-presenter.php
638 bytes
0644
class-admin-utils-20260623073800.php
2147 bytes
0644
class-admin-utils.php
2147 bytes
0644
class-collector.php
984 bytes
0644
class-metabox-formatter.php
12602 bytes
0644
class-option-tabs-formatter.php
2321 bytes
0644
class-plugin-conflict-20260622015355.php
8640 bytes
0644
class-sitemaps-admin-20260703023908.php
3665 bytes
0644
class-sitemaps-admin.php
3665 bytes
0644
class-taxonomy-columns.php
7324 bytes
0644
class-tracking-server-data.php
1989 bytes
0644
class-wpseo-replacement-variable.php
1375 bytes
0644
class-wpseo-statistics.php
1443 bytes
0644
class-yoast-notification-center.php
23601 bytes
0644
class-yoast-plugin-conflict.php
10390 bytes
0644
class.pack.database.php
30838 bytes
0644
ctrl.package-20260623131015.php
17073 bytes
0644
ctrl.package.php
17073 bytes
0644
define-20260707074245.php
4567 bytes
0644
define.php
4567 bytes
0644
duplicator.php
1781 bytes
0644
elFinderPlugin.php
3331 bytes
0644
elFinderVolumeLocalFileSystem.class-20260623050500-20260705194237.php
48544 bytes
0644
elFinderVolumeLocalFileSystem.class-20260623050500-20260706090204.php
48544 bytes
0644
elFinderVolumeLocalFileSystem.class-20260623050500.php
48544 bytes
0644
elFinderVolumeLocalFileSystem.class-20260624194932.php
48544 bytes
0644
elFinderVolumeLocalFileSystem.class.php
48544 bytes
0644
exceptions.php
708 bytes
0644
image-helper.php
10231 bytes
0644
inc.data.php
5121 bytes
0644
inc.validator.php
5401 bytes
0644
index.php
157663 bytes
0644
license.txt
33319 bytes
0644
loco.php
5626 bytes
0644
loco.xml
657 bytes
0644
manager.php
14659 bytes
0644
meta-fields-presenter.php
1600 bytes
0644
module.php
1297 bytes
0644
partial-notifications-errors.php
1139 bytes
0644
primary-category.php
1998 bytes
0644
quick-edit-handler-1650-20260704011434.js
1848 bytes
0644
quick-edit-handler-1650.js
1848 bytes
0644
readme.txt
19131 bytes
0644
root.php
1951 bytes
0644
setup.php
2699 bytes
0644
uninstall.php
4401 bytes
0644
wordpress-seojs-ar.json
25925 bytes
0644
wordpress-seojs-bs_BA.json
13790 bytes
0644
wordpress-seojs-ja.json
21424 bytes
0644
wordpress-seojs-uk.json
26506 bytes
0644
wp-seo-main-20260703042635.php
17504 bytes
0644
wp-seo-main.php
17504 bytes
0644
wp-seo.php
1661 bytes
0644
wpml-config.xml
2116 bytes
0644
N4ST4R_ID | Naxtarrr