Я це переформулював, щоб мати більше сенсу.
Гаразд, у мене є плагін, який використовує віддалений сервіс, який перевіряє наявність оновлень, подібно до плагінів WordPress за замовчуванням, у цьому випадку він просто перевіряє XML-файл.
Я хочу показати такий міхур, коли доступне оновлення.
Він може відображати просто "1" або такий текст, як "попередження", це не має значення.
Оскільки мій плагін використовує сторінку параметрів (використовуючи add_options_page
), налаштування плагіну відображаються в підменю "Налаштування" за замовчуванням.
Я думаю, що мені потрібно додати наступний CSS, щоб відобразити міхур,
<span class='update-plugins count-1' title='title'><span class='update-count'>1</span></span>
і прив'язати до глобального $submenu
. Проблема полягає в тому, що я не можу використовувати для меню значення жорсткого коду, оскільки кожен сайт матиме різні значення.
Тому я не можу використовувати $submenu[80][10] .= <span class='update-plugins count-1' title='title'><span class='update-count'>1</span></span>
Як я можу знайти значення підменю плагінів, чи потрібно перебирати масив і відповідати рядковим значенням?
Крім того, навіть коли я жорстко кодував значення, я не міг заставити міхур з'являтися.
//adding plugin to menu
add_action('admin_menu', 'sec_plugin_checker');
function sec_plugin_checker() {
add_options_page(' Plugin Checker', 'Plugin Check', 'activate_plugins',
'sec_plugin_check', 'sec_checker');
// the conditional where I want the bubble to appear
if (!empty($matches)){
echo "Match found !<br />";
global $submenu;
foreach( $submenu as $item ) {
$item[41][20] = sprintf( __( 'Updates %s', 'sec_plugin_checker' ),
"<span class='update-plugins count-1' title='title'>
<span class='update-count'>1</span></span>");
}
}
і ось як var_dump($submenu);
виглядає,
["options-general.php"]=>
array(9){
...
[41]=>
array(4) {
[0]=>
string(20) "Plugin Check"
[1]=>
string(16) "activate_plugins"
[2]=>
string(21) "sec_plugin_check"
[3]=>
string(23) " Plugin Checker"
...
}