web-dev-qa-db-fra.com

ne peut pas voir le contenu de publication personnalisé filtré sous le filtre "mine" dans le panneau d'administration

après avoir créé un type de publication personnalisé avec le plug-in d'interface utilisateur personnalisé, et après avoir créé les fonctionnalités d'un nouveau rôle pour modifier, supprimer et publier ses propres publications personnalisées avec le plug-in User Role Editor, j'ai rencontré ce problème.

si deux ou plusieurs utilisateurs publient du contenu dans le type de publication personnalisé, le système affiche un nouveau lien de filtre appelé "Mine" pour chacun des utilisateurs. Il s'agit du filtre par défaut pour cette page: http : //www.mysite.com/wp-admin/edit.php? post_type = custom

le problème est que cela renvoie "aucun élément trouvé", bien que l'utilisateur ait clairement publié le contenu dans ce type d'article personnalisé.

lorsque je passe au filtre "tous", il affiche également le contenu de l'utilisateur, mais pas dans le filtre "mine". c'est très frustrant!

peut le comprendre après plusieurs heures. quelqu'un peut aider avec ça?


En fait, je n'ai pas de code, il s'agit plutôt d'un plugin/de capacités mal utilisées, que je ne comprends pas vraiment. le flux était comme ça (et je suis désolé mais les images seront en hébreu. J'ai essayé de traduire tout ce qui est important et qui concerne le problème):

J'ai créé un type de message personnalisé avec " type de message personnalisé ". Jusqu'à présent, je n'ai jamais eu de problèmes avec ce plugin (c'est mon premier type de site multi-utilisateurs/rôles différents).

J'ai créé un nouveau rôle avec " Editeur de rôle utilisateur " ou avec " membres " plug-in. le problème ci-dessous s'accumule sur les deux, et c'est comme ça que je pense que ce n'est pas un bug de plugin.

J'ai ajouté au rôle d'abonné cette liste de capacités et (message est le nom du type personnalisé), sans la capacité "edit_others_messages as in

without edit_others_messages

et quand j'utilise un abonné, l'URL par défaut du bouton de menu "tous les messages" est le lien "le mien", et il est vide! - aucun message trouvé!

mine tab - no messages found

mais lorsque je clique sur l'onglet "Tous", il affiche la liste de tous les messages et sait quelle publication est celle de cet utilisateur abonné, et laquelle d'entre eux ne l'est pas.

enter image description here

donc, ce que je veux, c'est comprendre comment donner au rôle d'utilisateur l'autorisation de gérer ses propres types d'articles personnalisés, mais d'éliminer la requête "introuvable" au niveau du lien "mine" (c'est-à-dire - la requête principale de "tous messages "page" wp-admin/edit.php? post_type = messages "

s'il vous plaît aider.

1
Asaf Chertkoff

J'ai essayé de reproduire ce que tu as fait. Mon rôle d'abonné a les capacités suivantes:

  • delete_messages
  • delete_private_messages
  • delete_published_messages
  • edit_message
  • edit_messages
  • edit_private_messages
  • edit_published_message
  • publier_messages
  • lis

J'ai marqué l'une des possibilités "edit_message". Je ne vois pas cela dans ta photo. Mais il était absolument nécessaire que je poste même des messages. Pourquoi ça marche pour toi sans ça?

Quelle version de wordpress avez-vous?

Ensuite, j'ai créé deux utilisateurs abonnés et posté des messages en tant que tels. Le filtre de mine fonctionne parfaitement bien pour moi.

Je ne peux donc pas reproduire votre problème.

Soit vous fournissez plus d’informations sur la façon de reproduire le problème, soit vous pouvez effectuer une sauvegarde de votre site où l’erreur se produit et j’essayerais de le déboguer localement si vous pouvez me fournir la sauvegarde.

Débogage local

J'ai installé localement Eclipse et Xampp. Avec cela, je peux définir des points d'arrêt et parcourir le code pour voir ce qui se passe réellement. Cela aide beaucoup pour le débogage.

Cet article explique comment configurer un tel environnement de développement: Configurez Eclipse PDT avec X-Debug et XAMPP .

Les liens dans cet article sont un peu dépassés. Les nouvelles versions des outils nécessaires peuvent être trouvées ici:

Vous devez maintenant obtenir une copie locale de votre code et de votre base de données sur votre serveur local pour le déboguer.

Le code peut être simplement récupéré via ftp ou autre. Pour obtenir la base de données, je pointe vers une autre réponse stackexchange concernant ce sujet: Déplacement de la base de données avec phpMyAdmin

1
xaedes