web-dev-qa-db-ja.com

ユーザーを削除するときになるのカスタム投稿タイプを削除する

delete all custom post type when delete user

カスタム投稿タイプに問題があります。ユーザーを削除すると、そこに投稿を削除したり、すべての投稿を属性にしたりすることはできません。

3
varundev

カスタム投稿を削除する場合、あなたがユーザを殺した場合は、delete_userフックの内側にフックします。このフックはアクションを呼び出したり、このユーザーIDへの投稿を削除するなどの他の仕事をすることを可能にします。

さらなる情報とソースの例については、 コーデックス を参照してください。

1
bueltge

1)あなたが削除したいあなたの投稿タイプは、それらは作者のためのアクティブなフィールドを持たなければなりません( register_post_type - > supports - > author)。

2)または post_types_to_delete_with_user フィルタを使用することもできます。参照:

add_filter("post_types_to_delete_with_user", "post_types_to_delete_with_user_callback", 10, 2);

function post_types_to_delete_with_user_callback(array $postTypesToDelete, $userId) {
  $postTypesToDelete[] = "YOUR_POST_TYPE_KEY";
  return $postTypesToDelete;
}
0
Martin Hlaváč

私は自分のサイトでカスタム投稿を使用していますが、ユーザーが削除されるとすべてのカスタム投稿も削除されます。

コード内で、ユーザーIDがそれらの投稿の正しい作成者であることを確認していますか?コードの作成方法によっては、作成者が管理者になる可能性があります。私は以前、カスタム投稿のモデレーションで著者が実際には別のメタタグとして保存されていることを見てきましたが、Wordpressは著者が実際にそれを承認した管理者であると考えます。

それはあなたのテーマがどのように書かれたかそしてあなたのウェブサイト上の他の機能がどのように働くかに依存します。

登録された著者が誰であるかを確認するためにこれらのカスタム投稿の1つを見ることをお勧めします。異なる場合は、delete_userフック に何らかの投稿クエリを配置する必要があります。 @bueltge を使用して、見つかった投稿を投稿者メタタグ== userで削除します。

0
Bysander