J'ai implémenté un élément de menu personnalisé dans mon tableau de bord wordpress à l'aide de la commande suivante du fichier functions.php
function create_menu() {
$settings_page = add_menu_page('Edit_Post_69', 'Edit_Post_69', 'add_users', '/post.php?post=69&action=edit', '', get_stylesheet_directory_uri() . '/editicon.png', 2);
}
Cela fonctionne très bien et a ajouté l'icône dans le menu dash, inclus l'icône et lorsque je clique dessus, m'emmène à la page Modifier le message du message # 69.
Le problème auquel je suis confronté est que, même si j'ai cliqué sur mon lien personnalisé, la page sur laquelle elle se trouve actuellement est la page Modifier le message, la flèche en surbrillance se trouve sur la section Message plutôt que sur ma section personnalisée, comme dans l'image ci-dessous.
Ce dont j'ai besoin, c’est que mon élément personnalisé soit également mis en évidence. J’ai essayé de regarder les filtres et de creuser _wp_menu_output, l’idée étant de filtrer le code HTML et de changer la classe id de l’élément pour le surligner.
Quelqu'un peut-il m'orienter dans la bonne direction pour résoudre ce problème?
La probabilité est grande qu'aucun crochet n'existe pour cela ...
Mais cela peut être résolu avec jQuery:
add_action( 'admin_head-post.php', 'wpse_58567_highlight_menu_item' );
function wpse_58567_highlight_menu_item()
{
global $post;
if( 69 != $post->ID )
return;
?>
<script type="text/javascript">
jQuery(document).ready( function($) {
$('#toplevel_page_post-post-69-action-edit').removeClass('wp-not-current-submenu').addClass('current');
$('#toplevel_page_post-post-69-action-edit').find('a:last').addClass('current');
});
</script>
<?php
}