Нужна помощь с remove_action ()

Я пытаюсь удалить неприглядный внедренный <STYLE> встроенный виджет «Последние комментарии» помещается в мой <HEAD> , но я не могу получить синтаксис правильно. Первоначально он звонил

 add_action( 'wp_head', array(&$this, 'recent_comments_style') ); 

чтобы добавить его (в wp-includes / default-widgets.php, строка 609 ), и я пытаюсь его отменить.

Я думаю, что это должно быть примерно так:

 remove_action('wp_head', 'WP_Widget_Recent_Comments::recent_comments_style'); 

но со всеми вариантами, которые я пробовал, я все еще не могу понять. Кто-нибудь знает, как добиться этого?

Возможно, полезно:

  • Ссылка на функцию: remove_action

Это правильный код:

 add_action('wp_head', 'remove_widget_action', 1); function remove_widget_action() { global $wp_widget_factory; remove_action( 'wp_head', array($wp_widget_factory->widgets['WP_Widget_Recent_Comments'], 'recent_comments_style') ); } 

Однако из-за этой ошибки это не работает.

 remove_action('wp_head', array(&$this, 'recent_comments_style')); 

Это должно работать, потому что WordPress использует те же функции для создания уникальных идентификаторов, удаляете или добавляете их.

 // remove old recentcomments inline style add_action( 'widgets_init', 'my_remove_recent_comments_style' ); function my_remove_recent_comments_style() { global $wp_widget_factory; remove_action( 'wp_head', array( $wp_widget_factory->widgets['WP_Widget_Recent_Comments'], 'recent_comments_style' ) ); } 

испытания. работает

Теперь просто:

 // Remove Recent Comments Default Style add_filter( 'show_recent_comments_widget_style', '__return_false' ); // Temp hack #14876