А это локально? У меня вот тоже бывает, интересно почему..
Модератор
Yui
(@fierevere)
永子
убедитесь что у вас достаточно свежая версия PHP, библиотек openssl, включены расширения curl или разрешены функции fsockopen, fopen для url и включено расширение openssl
также хостинг (если у вас локальный сервер — фаерволл) должны разрешать исходящие соединения на американские IP
Точно, возможно этих библиотек не хватает. Спасибо большое за мысль.
Модератор
Yui
(@fierevere)
永子
они могут быть, но старой версии, если хостинг — centos старый,
если вендовый локал хостинг — кто ж знает что там….
за последний год произошло много интересного, если не брать heartbleed, то 2 события существенно ограничили подключаемость старых клиентов по HTTPS
1. плановое устаревание SHA-1 подписей, замена сертификатов на SHA-256 и выше, это убирает яву 1.6 и MSIE старых версий
2. POODLE и как следствие отключение SSLv3 , тут могут быть задеты даже старые версии curl
еще стоит посмотреть чтобы был свежий WordPress, с соответственно свежим свертком CA сертификатов ( у него свои )
Я нашла интересную вещь, чтобы поставить сервер и WordPress локально автоматически, со всеми настройками — Vagrant
Добавьте к functions.php
function increase_timeout_for_api_requests_27091( $r, $url ) {
if ( false !== strpos( $url, '//api.wordpress.org/' ) ) {
$r['timeout'] = 30;
}
return $r;
}
add_filter( 'http_request_args', 'increase_timeout_for_api_requests_27091', 10, 2 );
У меня решилась проблема после этого.
что делает этот код?
Увеличивает промежуток времени для соединения с api.wordpress.org. Но этот вариант поможет не во всех случаях.
Суть проблемы в том, что некоторые сервера не могут соединиться с WordPress.org. Наиболее распространённые причины:
- Запрещены внешние соединения.
- Не работает SSL или cURL.
Если предыдущая проверка обновлений плагинов и тем не завершилась успешно, то в WordPress 4.0 она повторяется только через 12 часов, а в WordPress 4.1 — снова и снова (см. подробности в багтрекере). Думаю, будет исправлено в 4.1.1.
В качестве временного решения можно добавить фрагмент в functions.php
активной темы (или установить его же в виде плагина):
function override_updated_plugins_check_31011( $transient ) {
$plugins = get_plugins();
// Reset the timeout if previous requests never succeeded
if ( ! isset( $transient->checked ) ) {
$last_update->last_checked = time();
}
// Short-circuit the check for changed plugins
foreach ( $plugins as $file => $plugin ) {
if ( ! isset( $transient->checked[ $file ] ) ) {
$transient->checked[ $file ] = $plugin['Version'];
}
}
return $transient;
}
add_filter( 'site_transient_update_plugins', 'override_updated_plugins_check_31011' );
function override_updated_themes_check_31011( $transient ) {
$themes = wp_get_themes();
// Reset the timeout if previous requests never succeeded
if ( ! isset( $transient->checked ) ) {
$last_update->last_checked = time();
}
// Short-circuit the check for changed themes
foreach ( $themes as $theme ) {
$stylesheet = $theme->get_stylesheet();
if ( ! isset( $transient->checked[ $stylesheet ] ) ) {
$transient->checked[ $stylesheet ] = $theme->get( 'Version' );
}
}
return $transient;
}
add_filter( 'site_transient_update_themes', 'override_updated_themes_check_31011' );