カテゴリメタボックスから「+ Add New Category」リンクを削除する方法


9

Wordpressカテゴリメタボックスまたはカスタム分類ボックス内に、「+ Add New Category」というテキストのリンクがあります。JSまたはCSSのハックに頼らずに、このリンクを削除できる方法はありますか?なんらかのフィルターまたはアクションフックを使用して非表示にする方法が最適です。

それを削除するアクションフックまたはフィルターメソッドが存在しない場合は、最後の手段としてJSおよびCSSソリューションを利用できます。

私がこれを行っている理由は、Magentoと統合されたWordpressインストールがあり、「ブランド」と呼ばれるカスタム分類法を作成し、Magentoデータベースからブランドのリストを入力して、投稿をブランドに割り当てることができるためです。明らかに、これはユーザーが自分の言葉で追加できるようにしたくなく、Magentoとの同期を維持するために動的に追加されたブランドのみを選択できるようにしたくないことを意味します。

ありがとうございました。

回答:


14

デフォルトのメタボックスはファイルに登録されますwp-admin/includes/meta-boxes.php。そこにはpost_categories_meta_box()、分類メタボックスを生成する関数があります。現在、出力をフィルタリングするために使用できるフックはありません。ただし、次のいずれかを実行できます。

  1. remove_meta_box()既存のカテゴリメタボックスを削除し、独自のカテゴリメタボックスをに登録するために使用しますadd_meta_box()。コピー&過去のあなたの新しいmetabox機能に既存のコードとは、ラインからのコードブロックを削除345します367
  2. よりクリーンな方法:をedit_terms使用して、ユーザーロールから機能を削除しますremove_cap()。metabox関数を見ると、オンラインで345、ユーザーが機能を持っているかどうかを確認するifステートメントを確認できますedit_terms。その場合、+ Add New XYが表示されます。ここでの問題は、機能の名前は動的であり、何でもかまいません。誰かが異なる機能名で分類法を登録した場合、これはおそらく機能しません(テストされていません)。

1
ああ、そうです。機能は実際には良い方法です。ただし、特に1つだけの他の分類法からその機能を削除する必要はありません。古き良き昔ながらのCSSでリンクを隠すのが最も簡単な選択だと思いました。素晴らしい提案をありがとう。
ドウェインチャリントン

2
roffloxの投稿にはコメントできませんが、機能が「manage_categories」に変更されたようです
pkmatte

ありがとうございました!これは私が見つけることができる最良の方法です。私はこれをマルチサイトで使用しているため、機能「setup_network」を使用して、サイト管理者がプラグインによって追加された分類のためにこれらの機能を使用することを制限します。
Sam
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.