web-dev-qa-db-ja.com

ナビゲーションメニューからゴミ箱ページを自動的に削除する

今のところ、ナビゲーションメニューにあるページがゴミ箱に捨てられても、ナビゲーションメニューエディタを使って手動で削除するまでメニューに残ります。ゴミ箱ページを自動的に削除することは可能ですか?

ありがとう

4
INT

メニュー用のデフォルトのdelete_postハンドラをゴミ箱アクションにフックするだけです。

add_action( 'wp_trash_post', '_wp_delete_post_menu_item' );

それはなんて簡単なのでしょう。

10
TheDeadMedic

プラグインが必要です。

  1. deleted_postアクションにメソッドを追加します(ページのIDを取得します)

  2. フィルタ:アクションは投稿などにも使用されます。

  3. でメニューを更新します

    • アイテムを取得するためのwp_get_nav_menu
    • ページを表すアイテムを削除する
    • wp_update_nav_menu_objectでメニューを更新してください。
3
Richard