J'ai reformulé cela pour donner plus de sens.
Ok, j'ai un plugin qui utilise un service distant qui vérifie les mises à jour, un peu comme les plugins WordPress par défaut, dans ce cas, il vérifie simplement un fichier XML.
Je souhaite afficher une bulle de menu comme celle-ci lorsqu'une mise à jour est disponible.
Il peut afficher juste un "1" ou un texte comme "alerte", peu importe.
Étant donné que mon plugin utilise une page d'options (en utilisant add_options_page
), les paramètres du plugin s'affichent dans le sous-menu "Paramètres" par défaut.
Je pense que je dois ajouter le CSS suivant pour faire apparaître la bulle,
<span class='update-plugins count-1' title='title'><span class='update-count'>1</span></span>
et lier dans le monde $submenu
. Le problème est que je ne peux pas utiliser une valeur de tableau codée en dur pour le menu car chaque site aura des valeurs différentes.
Je ne peux donc pas utiliser $submenu[80][10] .= <span class='update-plugins count-1' title='title'><span class='update-count'>1</span></span>
Comment puis-je trouver la valeur du sous-menu de mes plugins, dois-je parcourir le tableau et faire correspondre les valeurs de chaîne?
Même lorsque j'ai codé en dur les valeurs, je n'ai pas pu faire apparaître la bulle.
//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>");
}
}
et voici à quoi var_dump($submenu);
ça ressemble,
["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"
...
}