【问题标题】:Add some parameter to all urls in WordPress为 WordPress 中的所有 url 添加一些参数
【发布时间】:2010-11-18 00:11:15
【问题描述】:

如何在 WordPress 的所有页面上为所有 url 添加一些参数?我正在开发主题,我需要向潜在客户展示使用它的不同变体。所以,我有不同的配色方案。我找到了一个关于如何从 url 获取参数并在我的代码中使用它们的教程。现在,我可以轻松地使用像 http://proceed.skible.com/?color=magic_night 这样的 url 来附加一个带有配色方案设置的 CSS 文件。它工作正常,但是当我单击演示页面上的任何链接时,它显然不会应用我的自定义配色方案,而是应用保存在设置中的配色方案。我想我可以这样 - 将 ?color=magic_night 或我需要的任何配色方案添加到所有链接。当然,我需要解析链接并以正确的方式添加,而不仅仅是在每个 url 的末尾插入它。不仅如此,是否有更好的方法来实现预览主题杂项功能的可能性?我看到了我在这里描述的方式:http://themes.mysitemyway.com/infocus/?themedemo=infocus&extracss=deep_blue。所有链接都以 extracss=deep_blue 或我从菜单中选择的其他主题结尾。 谢谢。

【问题讨论】:

    标签: php html css wordpress


    【解决方案1】:

    您应该使用 PHP cookie 来存储用户在 HTTP 请求之间的颜色偏好,但允许他们使用您正在谈论的 GET 变量覆盖它:

    # Get the value of color if specified on the URL (GET) or in a cookie
    # If non of those place have the color, then color will be NULL
    $color = isset($_GET['color']) ? $_GET['color'] : (
        isset($_COOKIE['color']) ? $_COOKIE['color'] : NULL
    );
    
    # If we know what color we have and didn't just get it from a cookie
    # then set a cookie with that color as its value
    if ($color != NULL && isset(! $_GET['cookie'])) {
        setcookie('color', $color);
    }
    

    现在您有了$color 值,您可以按照您想要的任何方式选择样式表,例如:

    <?php
        if ($color != NULL) {
            ?> <link rel="stylesheet" href="<?php bloginfo('stylesheet_direcctory'); ?>/<?php print($color); ?>.css" type="text/css" /> <?php
        }
    ?>
    

    附:我的 PHP 语法有点生疏,但概念应该都在那里

    【讨论】:

      【解决方案2】:

      如果我的理解正确,您想根据传递的 url 参数使用不同的样式表吗?您可以在主题的头文件中执行此操作:

      header.php:

      //includes
      <html>
      ...
      <head>
      ...
      <? 
       if($_GET['color'] == 'magic_night'){
      ?>
      <link rel="stylesheet" href="<?php bloginfo('stylesheet_direcctory'); ?>/magic_night.css" type="text/css" />
      <?
      }
      else
      ...
      ?>
      ...rest of the page...
      

      bloginfo('stylesheet_direcctory') 应该可以将您带到您的主题目录,但我会先在测试文件中回显它,或者使用更好的参数到 bloginfo。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-11
        • 1970-01-01
        • 2014-04-24
        • 2019-02-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多