web-dev-qa-db-fra.com

Modifiez les boutons d'action pour un type de publication personnalisé

J'ai créé un type de message personnalisé appelé "demande de formulaire". J'essaie de modifier les actions qui apparaissent lorsque l'administrateur survole les publications sur la page edit.php. Voir la capture d'écran ci-dessous

 enter image description here 

J'ai réussi à trouver le tableau contenant les paramètres et à ajouter mon propre tableau personnalisé appelé "répondre" dans le tableau. Cependant, je ne peux pas trouver comment obtenir un post-id pour le lien.

Voir ci-dessous pour le code que j'ai jusqu'à présent. Est-il possible d'obtenir l'identifiant du message et de l'insérer dans le lien pour obtenir quelque chose comme post.php?post=95&action=reply lorsque l'utilisateur clique sur le bouton personnalisé.

  function remove_quick_edit($actions)
  {
    if($_GET['post_type'] == 'form-enquiry')
    {
      unset($actions['inline hide-if-no-js']);
    }

    $actions['reply'] = '<a href="#">Reply</a>';
    //return $actions;

    echo '<pre>'; print_r($actions); echo '</pre>';
  }
  add_filter('post_row_actions', 'remove_quick_edit', 10, 1);
1
Chess Byte

Si vous regardez ici https://developer.wordpress.org/reference/hooks/post_row_actions/ , le deuxième argument du filtre post_row_actions est un objet de publication. Vous devriez donc pouvoir:

 function remove_quick_edit($actions, $post)
  {
    $post_id = $post->ID;
    $post_type = $post->post_type;
    if($_GET['post_type'] == 'form-enquiry')
    {
      unset($actions['inline hide-if-no-js']);
    }

    $actions['reply'] = '<a href="#">Reply</a>';
    //return $actions;

    echo '<pre>'; print_r($actions); echo '</pre>';
  }
  add_filter('post_row_actions', 'remove_quick_edit', 10, 2);
1
czerspalace