web-dev-qa-db-ja.com

一度にすべてのカスタムフィールドを削除しますか?

私は一度に削除する必要がある約50個のカスタムフィールドを持っています。それぞれを通過して一度に削除するには時間がかかり過ぎるでしょう。なぜならページがロードされるのに約4秒かかるからです。

以前はAdvanced Custom Fields(ACF)と呼ばれるプラグインを使用していたのでそれらを削除する必要がありますが、明らかにqTranslateと一緒にはうまく機能しないので、ACFをTypesと呼ばれる別のプラグインに置き換えます。もう少し辛い。問題は、ACFですべてのカスタムフィールドグループを削除した後でも、フィールドがまだ存在することです。そうでなければ、Typesと同じ名前の新しいフィールドを作成することができないので、それらを削除する必要があります。

"Delete Custom Fields"というプラグインが見つかりましたが、うまくいきませんでした。

allを一度に削除する方法について他に何か考えがありますか?データベースからフィールドを手動で削除できますか?

編集:私はまた、タイプ内からカスタムフィールドを管理することができることに言及する必要がありますが、明らかにあなたは "タイプのコントロールの下にある"別名タイプによって作成されたものしか管理できないので、うまくいきませんでした。

1
qwerty

SQLを使うことができます。 phpMyAdminやAdminerなどのデータベースツールを使用します(WordPressバックエンドのPluginからも可能です)。カスタムクエリを作成するためにSQL領域を使用します。

始める前に、データベースのバックアップとテーブル_postmetaの単一バックアップを作成します。

文字列wpbeta_2をあなたのプレフィックスに変更してください。これはほんの一例です。

カスタムフィールドを持つすべてのフィールドを取得します。

SELECT *  FROM `wpbeta_2_postmeta` WHERE `meta_key` != ''

これですべてのフィールドのリストができました。これをチェックしてください。

特定のフィールドを削除します。

DELETE FROM `wpbeta_2_postmeta` WHERE `meta_key` = 'modules'

すべてのフィールドを削除します。

DELETE FROM `wpbeta_2_postmeta` WHERE `meta_key` != ''
1
bueltge

型を使用して、既存のカスタムフィールドの管理を引き継ぐことができます。削除する必要はありません。 [タイプ] - > [カスタムフィールドコントロール]の下を見て、フィールドを選択し、[タイプコントロールに追加]まで一括編集します。

2
Keith Rowland

すべて削除するには、phpmyadminを開き、wordpressデータベースに移動して、テーブルwp_postmetaを切り捨てます。

特定の投稿IDからそれらを削除したい場合はそれぞれの列でその投稿IDを検索し、見つかったものをすべて削除します。

0
Mridul Aggarwal