Show/hide comment status in front-end

Yes; you can use get_comments() function to query comments and specify spam as the status. Placing the button will depend on your theme, but the below is how to get the comments marked as spam (tested): get_comments( array( ‘post_id’ => $post_id, ‘status’ => ‘spam’, ) );

Add/Modify rel=canonical of all the pages of a wordpress website

You’ll want to prevent SEO plugins from adding a canonical meta tag, and then add your own canonical meta tag using wp_head filter (untested): add_action( ‘wp_head’, static function () { $url = trailingslashit( get_site_url() ); $url .= ltrim( $_SERVER[‘REQUEST_URI’], “https://wordpress.stackexchange.com/” ); printf( ‘<link ref=”canonical” href=”%s” />’, esc_attr( $url ) ); } );

How to add capability to author role to assign custom taxonomy terms to a custom post type?

Yes. It is some kind of mapping. So now, when I register the custom taxonomy I pass it: $caps = array( ‘manage_terms’ => ‘activate_plugins’, ‘edit_terms’ => ‘activate_plugins’, ‘delete_terms’ => ‘activate_plugins’, ‘assign_terms’ => ‘edit_posts’ ); With this result authors can now assign terms. I am just using ‘activate_plugins’ because, by default, authors do not have this … Read more