Ho riformulato questo per avere più senso.
Ok, ho un plugin che utilizza un servizio remoto che controlla gli aggiornamenti, proprio come i plugin WordPress predefiniti, in questo caso controlla solo un file XML.
Voglio mostrare una bolla di menu come questa quando è disponibile un aggiornamento.
Può mostrare solo un "1" o un testo come "avviso", non importa.
Poiché il mio plug-in utilizza una pagina di opzioni (utilizzando add_options_page
), le impostazioni del plug-in vengono visualizzate nel sottomenu "Impostazioni" predefinito.
Penso di dover aggiungere il seguente CSS per visualizzare la bolla,
<span class='update-plugins count-1' title='title'><span class='update-count'>1</span></span>
e legare al globale $submenu
. Il problema è che non posso usare un valore di array hardcoded per il menu poiché ogni sito avrà valori diversi.
Quindi non posso usare $submenu[80][10] .= <span class='update-plugins count-1' title='title'><span class='update-count'>1</span></span>
Come posso trovare il valore del mio sottomenu plug-in, devo passare in rassegna l'array e abbinare i valori di stringa?
Inoltre, anche quando ho codificato i valori, non sono riuscito a far apparire la bolla.
//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>");
}
}
ed ecco var_dump($submenu);
come appare,
["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"
...
}