Hide price of only one selected category and when price = 0 ?

A few questions about price.

1) Can I hide price of only one selected category (for unregistered users)?
I try this, but it doesn't work:
if (!is_user_logged_in() && in_category('7') ) {
add_filter('mp_product_price_tag', '__return_false');
add_filter('mp_buy_button_tag', '__return_false');
}

2) Is there a way to replace the price = 0 with a text?
I found this solution but it doesn't work to me: https://premium.wpmudev.org/forums/topic/marketpress-zero-prices-in-product-listing-view.

Thank you in advance.