Отображение количества обновлений, доступных в админке

9

У меня проблема с выяснением того, как отобразить количество плагинов / обновлений, доступных для вызова в другом месте, кроме заголовка администратора. Я обнаружил, что функция wp_get_update_dataдолжна быть то, что мне нужно:

Как используется функция "wp_get_update_data"?

Тем не менее, я не был уверен, как сделать так, чтобы это отображалось в виде фактического количества всех доступных плагинов и обновлений или любого рабочего примера в интернете, как его использовать.

Любые предложения будут высоко ценится.

Том
источник

Ответы:

9

Вот пример данных, возвращаемых wp_get_update_data()функцией:

Array
(
    [counts] => Array
        (
            [plugins] => 3
            [themes] => 2
            [wordpress] => 0
            [translations] => 0
            [total] => 5
        )

    [title] => 3 Plugin Updates, 2 Theme Updates
)

Таким образом, количество доступных обновлений плагина должно быть доступно с:

// Number of available plugin updates:
$update_data = wp_get_update_data();
echo $update_data['counts']['plugins'];

Обновить:

Для отображения следующей информации о плагине в админке:

Доступны обновления для 3 плагинов из 22

мы можем дополнительно использовать get_plugins()функцию:

if ( ! function_exists( 'get_plugins' ) )
{
    require_once ABSPATH . 'wp-admin/includes/plugin.php';
}

$data = array( 
    'updates'   =>  $update_data['counts']['plugins'],
    'total'     =>  count( get_plugins() ),
);

printf( 
    "There are available updates for <strong>%d</strong> plugins  
     out of <strong>%d</strong>",
    $data['updates'],
    $data['total']
);

Мы можем добавить больше информации, аналогичным образом, с get_mu_plugins()и get_dropins().

birgire
источник
1
Извините, но мне пришлось восстановить ваш ответ. Он добавляет немного другую информацию и, несомненно, имеет свою ценность. Я надеюсь, вы понимаете это.
Кайзер
@ Кайзер, если вы так говорите ;-) Я обновил ответ, чтобы он немного отличался от другого.
birgire
1
Работал отлично, спасибо, что нашли время, чтобы объяснить более подробно!
Том
6

wp_get_update_data () возвращает массив в этом формате

  • счетчики
    • плагины
    • темы
    • WordPress
    • переводы
    • Всего
  • заглавие

Итак, если вы хотите общее количество, вы должны использовать его следующим образом

$updates = wp_get_update_data();
echo $updates['counts']['total'];
sakibmoon
источник
1
Вы просто опередили меня на несколько секунд, поэтому я удалю свой ответ (+1)
birgire
@birgire Отличное спортивное мастерство. +1
Питер Гусен