Determine Logo link based on URL using PHP

Situation is getting a logo on:

domain.com/special_dir/any_page

Read More

or

domain.com/special_dir/any_dir/

to use a link to [domain.com/special_dir/].

Everywhere else on [domain.com/] the logo must a link to [domain.com/]

This is what I have so far.

<?php
$host = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if( $host == 'domain.com/special_dir/' ) {
    echo '<div"><a href="//domain.com/special_dir/"><img src="..."></a></div>';
  } else {
    echo '<div"><a href="//domain.com/"><img src="..."></a></div>';
}
?>

The logo for [domain.com/special_dir/] only works for [domain.com/special_dir/] URL, no others. I suppose the code it doing what it should, I just don’t know how to make it recursive. I did search and read a lot of similar situations but none based on PHP code worked for me.

It is WordPress Multi-site setup and the “special_dir” is a regular sub-directory.

How to correct?

Thanks

Related posts

2 comments

  1. Your if ($host == 'domain.com/special_dir/') statement means the special link will be printed for domain.com/special_dir/ only. It excludes everything else, including comain.com/special_dir/any_dir and domain.com/special_dir/any_page.

    If think you want …

    if (substr($host,0,22) == 'domain.com/special_dir/') { ... }
    
  2. This did the trick.

    <?php
    $url = $_SERVER["REQUEST_URI"];
    if (strpos($url, "/special_dir/") === 0) {
        echo '<div"><a href="//domain.com/special_dir/"><img src="..."></a></div>';
      } else {
        echo '<div"><a href="//domain.com/"><img src="..."></a></div>';
    }
    ?>
    

Comments are closed.