Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/wp-conte.../plugins/wordpres.../src/actions/semrush
File: semrush-phrases-action.php
<?php
[0] Fix | Delete
[1] Fix | Delete
namespace Yoast\WP\SEO\Actions\SEMrush;
[2] Fix | Delete
[3] Fix | Delete
use Exception;
[4] Fix | Delete
use Yoast\WP\SEO\Config\SEMrush_Client;
[5] Fix | Delete
[6] Fix | Delete
/**
[7] Fix | Delete
* Class SEMrush_Phrases_Action
[8] Fix | Delete
*/
[9] Fix | Delete
class SEMrush_Phrases_Action {
[10] Fix | Delete
[11] Fix | Delete
/**
[12] Fix | Delete
* The transient cache key.
[13] Fix | Delete
*/
[14] Fix | Delete
public const TRANSIENT_CACHE_KEY = 'wpseo_semrush_related_keyphrases_%s_%s';
[15] Fix | Delete
[16] Fix | Delete
/**
[17] Fix | Delete
* The SEMrush keyphrase URL.
[18] Fix | Delete
*
[19] Fix | Delete
* @var string
[20] Fix | Delete
*/
[21] Fix | Delete
public const KEYPHRASES_URL = 'https://oauth.semrush.com/api/v1/keywords/phrase_fullsearch';
[22] Fix | Delete
[23] Fix | Delete
/**
[24] Fix | Delete
* The SEMrush_Client instance.
[25] Fix | Delete
*
[26] Fix | Delete
* @var SEMrush_Client
[27] Fix | Delete
*/
[28] Fix | Delete
protected $client;
[29] Fix | Delete
[30] Fix | Delete
/**
[31] Fix | Delete
* SEMrush_Phrases_Action constructor.
[32] Fix | Delete
*
[33] Fix | Delete
* @param SEMrush_Client $client The API client.
[34] Fix | Delete
*/
[35] Fix | Delete
public function __construct( SEMrush_Client $client ) {
[36] Fix | Delete
$this->client = $client;
[37] Fix | Delete
}
[38] Fix | Delete
[39] Fix | Delete
/**
[40] Fix | Delete
* Gets the related keyphrases and data based on the passed keyphrase and database country code.
[41] Fix | Delete
*
[42] Fix | Delete
* @param string $keyphrase The keyphrase to search for.
[43] Fix | Delete
* @param string $database The database's country code.
[44] Fix | Delete
*
[45] Fix | Delete
* @return object The response object.
[46] Fix | Delete
*/
[47] Fix | Delete
public function get_related_keyphrases( $keyphrase, $database ) {
[48] Fix | Delete
try {
[49] Fix | Delete
$transient_key = \sprintf( static::TRANSIENT_CACHE_KEY, $keyphrase, $database );
[50] Fix | Delete
$transient = \get_transient( $transient_key );
[51] Fix | Delete
[52] Fix | Delete
if ( $transient !== false ) {
[53] Fix | Delete
return $this->to_result_object( $transient );
[54] Fix | Delete
}
[55] Fix | Delete
[56] Fix | Delete
$options = [
[57] Fix | Delete
'params' => [
[58] Fix | Delete
'phrase' => $keyphrase,
[59] Fix | Delete
'database' => $database,
[60] Fix | Delete
'export_columns' => 'Ph,Nq,Td',
[61] Fix | Delete
'display_limit' => 10,
[62] Fix | Delete
'display_offset' => 0,
[63] Fix | Delete
'display_sort' => 'nq_desc',
[64] Fix | Delete
'display_filter' => '%2B|Nq|Lt|1000',
[65] Fix | Delete
],
[66] Fix | Delete
];
[67] Fix | Delete
[68] Fix | Delete
$results = $this->client->get( self::KEYPHRASES_URL, $options );
[69] Fix | Delete
[70] Fix | Delete
\set_transient( $transient_key, $results, \DAY_IN_SECONDS );
[71] Fix | Delete
[72] Fix | Delete
return $this->to_result_object( $results );
[73] Fix | Delete
} catch ( Exception $e ) {
[74] Fix | Delete
return (object) [
[75] Fix | Delete
'error' => $e->getMessage(),
[76] Fix | Delete
'status' => $e->getCode(),
[77] Fix | Delete
];
[78] Fix | Delete
}
[79] Fix | Delete
}
[80] Fix | Delete
[81] Fix | Delete
/**
[82] Fix | Delete
* Converts the passed dataset to an object.
[83] Fix | Delete
*
[84] Fix | Delete
* @param array $result The result dataset to convert to an object.
[85] Fix | Delete
*
[86] Fix | Delete
* @return object The result object.
[87] Fix | Delete
*/
[88] Fix | Delete
protected function to_result_object( $result ) {
[89] Fix | Delete
return (object) [
[90] Fix | Delete
'results' => $result['data'],
[91] Fix | Delete
'status' => $result['status'],
[92] Fix | Delete
];
[93] Fix | Delete
}
[94] Fix | Delete
}
[95] Fix | Delete
[96] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function