一元化されたWordPress通知センターの探求

公開: 2016-04-20

WordPressの管理者が悪用されていることに気付いたコメントの数に基づくと、多くの人が私と同じように感じていることは明らかです。 活発な議論が行われたおかげで、私はあなたと共有したい管理者通知についていくつかの新しいことを学びました。

テーマもやる

この記事の核心はプラグインが最大の犯罪者であることに焦点を当てていますが、この問題はWordPressテーマディレクトリの内外でホストされているテーマにも当てはまります。 私が発見したより極端な例の1つで、今年の初めに、Redux Frameworkは、新しい商用拡張機能をユーザーに通知する管理者通知を追加しました。

ユーザーが通知を削除する方法について質問したとき、ReduxFrameworkの開発者は商用拡張機能を作成することで回答しました。

Reduxフレームワーク管理者通知
Reduxフレームワーク管理者通知

この拡張機能は、年間59ドルで、管理者通知、オプションパネルからの広告、およびダッシュボードニュースウィジェットを削除します。 通知と広告はフレームワークの開発モードが有効になっている場合にのみ表示されますが、収益を生み出すためのばかげた方法のようです。

この記事を調査しているときに、ReduxFrameworkの共同創設者兼リード開発者であるDovyPaukstysが、現在および将来の管理者通知から広告を削除している最中であることを発見しました。 Paukstysは居酒屋に次の声明を提供しました:

仲間の開発者として、私は広告として使用されたときに管理者の通知がどれほど苛立たしいものになるかを見ることができます。 コミュニティのリクエストをサポートするために、プレミアム機能を宣伝するために管理者通知を使用しなくなります。 管理者通知は、ユーザーに情報を提供し、教育するために、意図された目的で使用されます。

他のフレームワーク、プラグイン、および製品がそれに続くことを願っています。

WP通知センター

私たちの記事に触発されて、WPBeginnerはWordPressが通知センターを必要とするかどうかを調べます。 結局のところ、この問題を解決することを目的とした作業には、いくつかの異なるプラグインとプロジェクトがあります。

Barry KooijとNever5によって開発されたWP通知センタープラグインは、WordPressに通知センターを追加します。 このプラグインは、管理者の通知を中央の場所に移動して、貴重な画面領域を解放します。

WP通知センター
WP通知センター

有効にすると、通知領域が管理バーに追加されます。 これにより、利用可能な通知の数がわかり、すばやく表示できるようになります。 メッセージは色分けされており、更新メッセージとエラーメッセージの違いを簡単に見分けることができます。

通知内のリンクをクリックすると、対応する管理ページに移動して詳細を表示できます。 残念ながら、管理ツールバー内のリンクに移動せずに通知を閉じることはできません。 Kooijによると、通知を却下することは修正が難しい問題です。

管理者通知はコードに追加されているため、追加を停止することはできません。 つまり、却下された通知を保存し、管理ページが読み込まれるたびに追加されたすべての通知をチェックして、却下された通知を除外する必要があります。

これは、通知がデータベースに追加され、それが却下されたときに簡単に削除できるという理想的な状況とは逆です。

WP通知センターをコアに組み込む可能性については、「これを正しい方法で設定するコア用のパッチを作成したい」とKooij氏は述べた。 「これには、最終的には廃止され、古い方法で追加されている通知の表示が停止することが含まれます。」

この問題に取り組むことに興味がある場合、またはプロジェクトの他の側面に貢献したい場合は、問題やプルリクエストを歓迎するGitHubで見つけることができます。

WordPress通知API

1月のWordPressCore開発者チャットで、John Blackbournは、 wp_mail()を拡張可能なAPIに置き換えるNotificationsAPIを提案しました。 開発者はAPIをフックして、SlackおよびIM通知を有効にするWebhookを介して通知を送信できます。 ユーザーと管理者がオプトイン/オプトアウトする個々の通知とタイプを選択できるように、UIも追加されます。

APIは管理者通知に直接関連していませんが、将来接続される可能性があります。 Blackbournは、今後1、2週間以内に、アイデアの概要を詳しく説明した詳細なブログ投稿を公開する予定です。

Jetpack通知

Jetpackは、ツールバーにアイコンを追加するモジュールを介して通知を処理します。 通知には、「いいね」、「コメント」、「フォロー」、およびコメントをモデレートして返信する機能が含まれます。

Jetpack通知
Jetpack通知

私は常にこの通知領域を使用して、コメントをモデレートして返信しています。 便利で、通常はアイテムをすばやくロードします。 ただし、テーマやプラグインからの管理者通知が追加された場合、インターフェイスがどの程度うまく機能するかはわかりません。

サブスクライバーは管理者通知を表示できる可能性があります

私が学んだ最も驚くべきことの1つは、サブスクライバーであるユーザーが管理者通知を表示できる可能性があることです。 表面的には、サブスクライバーには通知に対応するために必要な機能がないため、これは意味がありません。 私は、YoastSEOとAllin One SEOプラグインの両方をアクティブ化することにより、WPTavernテストサイトでこの理論をテストしました。

これは、管理者としてログインしているときに表示されるものです。

管理者としてログインしている間の管理者への通知
管理者としてログインしている間の管理者への通知

これは、サブスクライバーとしてログインしているときと同じダッシュボードです。

サブスクライバーとしてログインしているときの管理者の通知
サブスクライバーとしてログインしているときの管理者の通知

ご覧のとおり、サブスクライバーとしてログインすると通知が消えます。 当初、これはコアの問題だと思っていましたが、開発者の問題のようです。 元の記事にコメントしたJSMorissetには、次のような説明があります。

「管理者」(通知の場合)という単語は、管理者/バックエンドの通知であるか、管理者の通知であるかの2つの方法で解釈できます。

私はそれらが前者(管理バックエンドに表示される通知)であり、すべてのバックエンドユーザーが見ることができることを常に理解しているので、自分のコードで「current_user_can()」を使用してさまざまな種類を表示しますメッセージの。 たぶん、これはコアWPの問題というよりも開発者の認識の問題です。

テストしたプラグインのコードを分析していませんが、current_user_can()機能チェックにより、管理者には通知が表示され、サブスクライバーには表示されない理由が説明されます。

一元化されたWordPress通知センターで見たいもの

管理者通知は、開発者がユーザーに重要な情報を通知するための優れた方法です。 しかし、最近はすべての通知がサイト管理者を襲っているため、それらすべてを管理するための組織的なユーザーインターフェイスが必要です。 許可して表示する通知の種類を検討する場合、WordPressの通知センターは簡単に深いうさぎの穴に変わる可能性があります。

私が見たいのは、コア、プラグイン、テーマの更新に加えて、それらのアイテムが生成する通知を通知する通知センターです。 また、サイトのエラーについても教えてほしい。 これらの通知は、すばやくアクセスできる使いやすいインターフェースで行う必要があります。 通知は却下可能であるか、既読としてマークできるステータスである必要があります。

上で見たように、この問題の解決策に取り組んでいる多くの人々とプロジェクトがあります。 あなたの理想的なWordPress通知センターは何でしょうか?