it-roy-ru.com

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

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

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

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

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

8
Tom

Вот пример данных, возвращаемых функцией 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().

8
birgire

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

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

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

$updates = wp_get_update_data();
echo $updates['counts']['total'];
6
sakibmoon