私はEazyest_Frontend
クラスからアクションを追加するためにこのコード行を持つプラグインを使用しています。
add_action( 'eazyest_gallery_thumbnails', 'ezg_thumbnails',5);
私はそれを取り除き、プラグインを編集せずに少し違ったことをしたいのです。私はこれが私のfunctions.phpファイルに追加されたがうまくいくかもしれないと思った:
global $eazyest_frontend;
remove_action( 'eazyest_gallery_thumbnails', array($eazyest_frontend,'ezg_thumbnails'), 1, 1 );
私はたぶん私が優先順位などを変えた100の変化を試みたがまだ何も働かない。
プラグインの元のadd action行をコメントアウトしても、探している効果があるので、正しいアクションを特定したようです。
アクションを削除するのは初めてですが、どうすればよいですか。
たぶん私はあなたが間違っているのですが、なぜあなたはあなたのfunctions.php
に次の行を入れるだけではいけない:
remove_action('eazyest_gallery_thumbnails', 'ezg_thumbnails');
アクションにフックされたクラス関数がある場合は、クラスオブジェクトの代わりにクラス名を使うことができます。
remove_action(
'eazyest_gallery_thumbnails',
array('EazyestFrontendClassName', 'ezg_thumbnails')
);
今は、なぜこれがうまくいかないのかわかりません。私のプラグインの1つからアクションを試してみました。
不要な管理者への通知を隠すために、同様の手法を使用できます。
削除したい通知を作成している関数の名前を見つけてから、子テーマの functions.php fileに次の行を追加します。
remove_action( 'admin_notices', 'offending_function_that_is_creating_the_notice' );
そのプラグインからの他の(潜在的に重要な)通知がまだ通過している間今、その特定のナグだけが隠されるでしょう。プラグイン開発者がnagを作成する関数の名前を変更しない限り、これは将来のアップデートでも有効です。
すべてのコメントと回答をありがとう - 私はちょうどこれを解決しました:
function remove_eazyest_gallery() {
remove_action('eazyest_gallery_thumbnails', 'ezg_thumbnails', 5);
}
add_action( 'eazyest_gallery_ready', 'remove_eazyest_gallery', 1 );