How to hide View Page Menu if there is no content?
There are multiple options do do this, but all seem to require custom coding.

Maybe Hiding tab when view is empty or How to find out programmatically if a view has a result before rendering the whole view? give an idea of how to do that. They are both mainly about Drupal 6, but the same principles apply.

I would probably use some hook_preprocess or theme function, load the view using views_get_view(), execute that with all the necessary arguments if any, then check the result count and if that's empty, remove the menu link from the page. That last part is described in How to hide menu items without relying on permissions [SOLVED] and Customizing menu link output

Update:
So in your example you could do:

$view = views_get_view('news');
$view-&gt;execute();
$link['#access'] = count($view-&gt;result) &gt; 0;