All In One SEOを利用時に、とあるページだけcanonicalを出力させたくない

プラグインの All In One SEO では、canonical が設定できますが、
任意のページで ON/OFF 出来ないので、なんとかならないかと、

remove_action(‘wp_head’, ‘All_in_One_SEO_Pack::wp_head’);

とか試してみたのですが、どうにもならず悶々と調べておりましたところ、こんなやりとりを発見!
https://wordpress.org/support/topic/specify-canonical-url

なるほど。
All In One SEO には、フィルターフックに aioseop_canonical_url が用意されているようです。
では、All In One SEO のソースコードを見てみると、 aioseop_class.php にある、canonical を出力する部分には...

$url = apply_filters( 'aioseop_canonical_url', $url );
	if ( !empty( $url ) )
		echo ''."n";

となっています。

if ( !empty( $url ) )  なので、add_filter で $url に null をかえすようにすれば、canonical のmetaタグは出力されないわけです。
とうことで、たとえば、postID が 306 の固定ページで、canonicalを表示しないようにしたければ、

add_filter( 'aioseop_canonical_url', 'no_canonical_url');
function no_canonical_url($url){
	global $wp_query;
	$postID = $wp_query->post->ID;
	if ($postID=='306'){
		return false;
	}else{
		return $url;
	}
}

というのを、function.phpなりに入れておけば、バッチリです!

nakaike