web-dev-qa-db-fra.com

Modifier le lien de menu admin personnalisé de type message

Je cherche à modifier le lien de menu d'un type de message personnalisé dans l'administrateur WordPress - Est-ce possible?

Par exemple, actuellement son

/wp-admin/edit.php?post_type=application

et je veux mettre à jour avec

/wp-admin/edit.php?s&post_status=all&post_type=application&cat=36&paged=1

Merci pour votre temps

1
venomphil

Vous pouvez utiliser le hook admin_menu. Vous pourrez faire une boucle sur tous les menus.

add_action( 'admin_menu', 'wpse_306432_edit_post_type_admin_menu', 11);
function wpse_306432_edit_post_type_admin_menu()
{
    global $menu;

    foreach($menu as $k => $v){
        if($v[1] == 'edit_applications') // possibly 'edit_application', I'm not sure
        {
            $menu[$k][2] = 'edit.php?post_status=all&post_type=application&cat=36&paged=1'; // I modify your query
            break;
        }
    }
}

Devrait travailler pour vous :)

N'hésitez pas à ajouter un Nice:

echo '<pre>';
var_dump($menu);
echo '</pre>';
die();

Après global $menu pour comprendre comment cela fonctionne et changer plus!

Merci pour votre réponse :) Cela ressemble à une meilleure solution que ce que j'ai trouvé!

J'ai ajouté javascript à l'administrateur et mis à jour le lien de cette façon

function custom_admin_js() {
$url = get_bloginfo('template_directory') . '/library/js/wp-admin-XXX.js';
if( current_user_can( 'XX' ) ){ 
    echo '"<script type="text/javascript" src="'. $url . '"></script>'";
}; } add_action('admin_footer', 'custom_admin_js');
0
venomphil