First off, I do not recommend putting a link inside the tagline, SEO wise. Tagline is displayed by search engines and it will always be treated as a descriptive slogan/quote and will be stripped of any html. In other words, if you put a link inside it, you should expect it to be stripped when displayed in search engines results, sometimes even with the text that’s supposed to be the link.
I also do not recommend modifying parts/class-header-menu.php because that file is prone to changes at updates from any of it’s parts:
– menu social links
– menu display
– logo display
– tagline display
If the theme author changes any of those for any display (mobile, tablet, desktop), than class-header-menu.php changes in parent theme. And if you have it in your child theme, yours will be loaded so you are practically giving up the future updates on any of the elements listed above. In addition, if the file in the parent file changes to the point that the theme expects a different output from it, your installation will break.
A much safer approach is to only filter the display of the tagline: tc_tagline_display, by adding in your child theme’s functions.php:
add_filter('tc_tagline_display', 'your_tagline_filter_function');
function your_tagline_filter_function($html) {
// do stuff to $html (it holds the html containing your tagline)
return $html;
}
Of course, you need to modify $html contents. You could run a preg_replace() and modify its contents. Or you could just return
return '<a href="your_custom_link" title="your_custom_title">'.$html.'</a>';
which wraps all description (including the h2 tag) in your link. This is good, as search engines will continue to take the h2 contents and display it properly. Just make sure it makes some sense even without the link: (ex: Join us now!).
Here’s how I would do this: I’d put a proper slogan inside the tagline. Like “homes for tomorrow” or whatever you or your client think is best. Add this to functions.php (version of the function above):
add_filter('tc_tagline_display', 'your_tagline_filter_function');
function your_tagline_filter_function($html) {
return $html.'<h2 class="tagline-teaser"><a href="your_linl" title="your_description">Join Now</a></h2>';
}
And add this in your style.css of your child theme or in the custom CSS panel:
h2.site-description {diplay: none;}
h2.tagline-teaser, h2.tagline-teaser a { font-size: 18px;
padding-top: 0px;
line-height: 20px;
font-style: italic;
color: #9db668;
}
The slogan will never appear on the page, but it will be displayed by search engines under your site title. Instead of it, your website will display the link.