Lors d'une nouvelle installation auto-hébergée avec la version 4.8.1, site avec le thème par défaut 2017, j'ai activé le plugin Akismet avec la clé API. Modifié single.php
avec:Pourquoi le retour d'Akismet a-t-il échoué lors de la vérification des clés?
if (function_exists('akismet_verify_key')) :
$testing = akismet_verify_key(akismet_get_key(), site_url());
echo $testing;
endif;
mais il revient toujours failed
. Je me suis assuré que le nom de domaine du site est inclus dans le tableau de bord Akismet mais pour une raison quelconque après avoir lu la [documentation de vérification de clé] [1] et la détection de la fonction existait true
.
Si je copie l'exemple de PHP et de modifier la convention de nommage de la fonction à akismet_check
:
function akismet_check($key, $blog) {
$blog = urlencode($blog);
$request = 'key='. $key .'&blog='. $blog;
$host = $http_host = 'rest.akismet.com';
$path = '/1.1/verify-key';
$port = 443;
$akismet_ua = "WordPress/4.4.1 | Akismet/3.1.7";
$content_length = strlen($request);
$http_request = "POST $path HTTP/1.0\r\n";
$http_request .= "Host: $host\r\n";
$http_request .= "Content-Type: application/x-www-form-urlencoded\r\n";
$http_request .= "Content-Length: {$content_length}\r\n";
$http_request .= "User-Agent: {$akismet_ua}\r\n";
$http_request .= "\r\n";
$http_request .= $request;
$response = '';
if (false != ($fs = @fsockopen('ssl://' . $http_host, $port, $errno, $errstr, 10))) :
fwrite($fs, $http_request);
while (!feof($fs))
$response .= fgets($fs, 1160); // One TCP-IP packet
fclose($fs);
$response = explode("\r\n\r\n", $response, 2);
endif;
if ('valid' == $response[1]) :
return true;
else :
return false;
endif;
}
et de le transmettre:
echo 'Akismet shows ' . $result = akismet_check(akismet_get_key(), site_url());
Je ne comprends pas si la fonction est déjà présente et Je peux le détecter pourquoi je reçois un échec. Est-ce que Akismet a une alternative à la vérification des clés, donc je n'ai pas à réécrire une fonction entière pour faire ce qui semble déjà exister si akismet_verify_key
ne fonctionne pas ou est-ce que je fais quelque chose de mal?