Depending on what you want to show or hide and when (condition): I had a similar problem to solve on the favorite icon and the save search button. I did not want to show the save search button to logged out users and also I did not want logged out users to see the add to favorites button.
To achieve that I used a snippet:
add_filter('body_class','er_logged_in_filter');
function er_logged_in_filter($classes) {
if( is_user_logged_in() ) {
$classes[] = 'logged-in-condition';
} else {
$classes[] = 'logged-out-condition';
}
// return the $classes array
return $classes;
}
Then on anything to be hidden to logged out users I added in the field for additional CSS I added:
.hide-logged-out
Works like a charm and is lightweight, and if you look to hide or show something I think a good solution to use a similar script.
Inside GD itself I found that conditional fields work great. In some cases it takes the creation of three or four conditions to hide or show something but although I amnot one hundred percent sure I believe they only apply to fields.