如何生成动态外部链接?

时间:2015-08-10 20:28:59

标签: php html css wordpress

我是php和css的新手 我的目标是将两个图标放入wordpress网站的主要菜单中。这些图标应指向我的域的动态外部链接 我的主题的header.php代码是:

<div id="flags" style="position:absolute;left:97%;top:10px; width:300px; height:30px; background-color:transparent">
    <a href="mydomain.com/aaa/"><img src="wp-content/themes/minimable-premium/templates/it-icon-24.png" /></a>
    <a href="mydomain.com/bbb/"><img src="wp-content/themes/minimable-premium/templates/uk-icon-24.png" /></a>
</div>

我需要获取当前的URL,只用我选择的字符串替换其中的一部分。例如,在第一个url中,字符串“aaa”带有“ccc”。 因此,图标链接到新地址。

我试着按照这种方式:

<div id="flags" style="position:absolute;left:97%;top:10px; width:300px; height:30px; background-color:transparent">
    <?php
        $actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
        $strEng = "eng";
        $strIta = "ita";
        $new_link = str_replace($strEng,$strIta, $actual_link);
    ?>
    <div id="banner" onclick="window.location.href='$new_link'" style="cursor: pointer">
        <img src="wp-content/themes/minimable-premium/templates/it-icon-24.png" />
    </div>
    <a href="mydomain.com/bbb/"><img src="wp-content/themes/minimable-premium/templates/uk-icon-24.png" /></a>
</div>

您能否就如何编写正确的代码以及在哪些文件中提供建议?

2 个答案:

答案 0 :(得分:1)

您不能像使用普通变量一样直接在字符串中引用数组元素。您必须将多个字符串与.运算符组合在一起。请参阅第3行的更改:

<div id="flags" style="position:absolute;left:97%;top:10px; width:300px; height:30px; background-color:transparent">
            <?php
                $actual_link = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
                $strEng = "eng";
                $strIta = "ita";
                $new_link = str_replace($strEng,$strIta, $actual_link);
            ?>
            <div id="banner" onclick="window.location.href='$new_link'" style="cursor: pointer">
                <img src="wp-content/themes/minimable-premium/templates/it-icon-24.png" />
            </div>
            <a href="mydomain.com/bbb/"><img src="wp-content/themes/minimable-premium/templates/uk-icon-24.png" /></a>
</div>

答案 1 :(得分:0)

看起来你正试图制作一个可翻译的网站。 我认为你应该做的是使用WordPress的大型插件社区来使你的网站可以翻译。 (WPML,WordPress MultiLingual很棒)

如果您确实想这样做,或者想要更改网站的uri,请尝试这样:

<style>
  #flags {
   position:absolute;
   left:97%;
   top:10px;
   width:300px;
   height:30px;
   background-color:transparent;
  }

  #flags a {
   display: block; /* if you want the link to be a block */
  }
</style>
<div id="flags">
<?php
    $actual_link = "http://".$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI];
    $strEng = "eng";
    $strIta = "ita";
    $new_link = str_replace($strEng,$strIta, $actual_link);
?>
  <a id="banner" href="<?php echo $new_link; ?>">
    <img src="wp-content/themes/minimable-premium/templates/it-icon-24.png" />
  </a>
  <a href="mydomain.com/bbb/">
    <img src="wp-content/themes/minimable-premium/templates/uk-icon-24.png" />
  </a>
</div>

同样通过上面的例子,你们都忘记了 尝试避免内联样式。它有效,但如果你想从这个客户那里找到一份工作,雇主就不会喜欢它;)