How to hide get_theme_mod if field empty

I’m using: get_theme_mod to show various pieces of info from the theme customizer, in the following format:

<a href=" <?php get_theme_mod( $name, $default ) ?> ">This is the link</a>

I would like to hide the whole line if that particular customizer field is empty.

Read More

What could I wrap around the anchor to accomplish this?

Related posts

Leave a Reply

4 comments

  1. Looking for an answer to displaying default text in place of a customizer set heading. In a funny roundabout way, thepost by @Otto gave me the idea of checking for an empty string.

    <?php if( get_theme_mod( 'tcx_portfolio_intro') == '' ) : ?>
    <div class="intro">
    <h2><?php echo ('nothing here yet'); ?></h2>
    </div>
    <?php endif; ?>
    
  2. Irrespective of your default value in the customizer setting, you could just compare the theme modification value to an empty string:

    <?php    
    $link = get_theme_mod( $name );
    if ($link !== '' ) { 
    ?>
       <a href="<?php echo $link; ?> ">This is the link</a>
    <?php 
    } 
    ?>
    
  3. Test if is not null we will show the content:

    if (get_theme_mod($name, '') != NULL){
      // the content to show   
    }
    

    If is null we will show nothing.