Przeredagowałem to, aby było bardziej sensowne.
Ok, mam wtyczkę, która korzysta ze zdalnej usługi, która sprawdza dostępność aktualizacji, podobnie jak domyślne wtyczki WordPress, w tym przypadku po prostu sprawdza plik XML.
Chcę pokazać taką bańkę menu, gdy dostępna jest aktualizacja.
Może wyświetlać tylko „1” lub tekst przypominający „alert”, nie ma to znaczenia.
Ponieważ moja wtyczka korzysta ze strony opcji (za pomocą add_options_page
), ustawienia wtyczki są wyświetlane w domyślnym podmenu „Ustawienia”.
Myślę, że muszę dodać następujący CSS, aby pojawił się dymek,
<span class='update-plugins count-1' title='title'><span class='update-count'>1</span></span>
i związać się z globalnym $submenu
. Problem polega na tym, że nie mogę użyć zakodowanej wartości tablicy dla menu, ponieważ każda witryna będzie miała inne wartości.
Więc nie mogę użyć $submenu[80][10] .= <span class='update-plugins count-1' title='title'><span class='update-count'>1</span></span>
Jak znaleźć wartość podmenu wtyczek, czy muszę przeglądać tablicę i dopasowywać wartości ciągu?
Nawet gdy zakodowałem na stałe wartości, nie mogłem wyświetlić bańki.
//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>");
}
}
a oto jak var_dump($submenu);
wygląda
["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"
...
}