web-dev-qa-db-ja.com

管理パネルの[私の]フィルタでカスタム投稿のコンテンツがフィルタされているのを見ることができない

カスタム投稿タイプのUIプラグインを使ってカスタム投稿タイプを作成した後、User Role Editorプラグインを使って独自のカスタム投稿を編集、削除、公開するための新しいロールの機能を作成した後、この問題に遭遇しました。

2人以上のユーザーがカスタム投稿タイプでコンテンツを公開した場合、システムは各ユーザーに対して "Mine"という新しいフィルターリンクを表示します。これがこのページのデフォルトのフィルターになります。 http://www.mysite.com/wp-admin/edit.php?post_type=custom

問題は、ユーザーがこのカスタム投稿タイプでコンテンツを公開しているにもかかわらず、「アイテムが見つかりません」というエコーが表示されることです。

"all"フィルタに切り替えると、ユーザーのコンテンツも表示されますが、 "mine"フィルタには表示されません。とてもイライラしています。

数時間後にそれを把握することができます。誰かがそれを手伝ってくれる?


私は実際にはコードを持っていません、それは私が本当に理解していないことをプラグイン/コア機能の誤用です。流れはこんな感じでした(そして申し訳ありませんが、画像はヘブライ語になります。私は問題に関連する重要なものをすべて翻訳しようとしました)

" カスタム投稿タイプUI "でカスタム投稿タイプを作成しました。今まで私はこのプラグインに関して何の問題も抱えていませんでした(それは私の最初のマルチユーザー/さまざまな役割の種類のサイトです)。

" User Role Editor "プラグインまたは " Members "プラグインを使って新しいロールを作成しました。以下の問題は両方で発生しています、そしてそれは私がそれがプラグインのバグではないと思う方法です。

私は購読者ロールにこの機能のリストを追加し、(messageはカスタムタイプの名前です)、次のように機能 "edit_others_messages"を付けずに

without edit_others_messages

私が購読者として使っているときは、「すべてのメッセージ」メニューボタンのデフォルトのURLは「私の」リンクで、空です。 - メッセージは見つかりませんでした。

mine tab - no messages found

しかし、「すべて」タブをクリックすると、すべてのメッセージのリストが表示され、そのユーザの投稿がどれで、どれがそうでないのかがわかります。

enter image description here

だから私が欲しいのはそれ自身のカスタム投稿タイプを管理するためだけにユーザロールに許可を与える方法を理解することですが、「私の」リンクで「見つからない」クエリを排除することです。 messages "page" wp-admin/edit.php?post_type = messages "

助けてください。

1
Asaf Chertkoff

私はあなたがしたことを再現しようとしました。私の加入者の役割には、以下の機能があります。

  • delete_messages
  • delete_private_messages
  • delete_published_messages
  • edit_message
  • edit_messages
  • edit_private_messages
  • edit_published_message
  • publish_messages
  • 読む

私はその機能のひとつに "edit_message"を付けました。私はあなたの写真にはこれを見ていません。しかし、私もメッセージを投稿することさえ絶対に必要でした。なぜそれがそれなしであなたのために働くのですか?

あなたはどのワードプレスバージョンを持っていますか?

それから私は2人の購読者ユーザーを作成し、彼らとしてメッセージを投稿しました。鉱山用フィルターは私にとっては完璧に機能しています。

だから私はあなたの問題を再現することはできません。

あなたは問題を再現する方法をより多くの情報を提供するか、あなたは私のバックアップを提供することができれば私はローカルにこれをデバッグしようとするでしょう。

ローカルデバッグ

EclipseとXamppをローカルにインストールしました。これで私は ブレークポイント をセットして実際に何が起こっているのか見るためにコードをステップスルーすることができます。これはデバッグのためのLOTを助けます。

この記事では、そのような開発環境をセットアップする方法について説明します。 X-DebugとXAMPPを使ってEclipse PDTを構成する

この記事のリンクは少し古くなっています。必要なツールの新しいバージョンはここにあります。

それをデバッグするためには、ローカルサーバー上にコードとデータベースのローカルコピーを取得する必要があります。

コードはftpなどで簡単に取得できます。データベースを取得するために、このトピックに関する別のstackexchange回答を示します。 phpMyAdminによるデータベースの移動

1
xaedes