动态徽标/横幅取决于附属链接

时间:2014-06-27 作者:brass

我正在使用woo commerce和wp附属公司建立一个附属网站。将有20-30个分支网站链接回主网站的网络。

我需要在主站点上显示引用站点的徽标/横幅。因此,如果用户从Widget Maker 1网站转到主网站,我需要在顶部显示Widget Maker 1徽标或横幅。Widget Maker 2也一样,如果Widget Maker 2网站上有不同的用户指向主网站,我需要显示Widget Maker 2徽标或横幅。

由于在url中为附属链接使用查询字符串,这似乎很容易做到,但我不知道从哪里开始。

有人有做这种事的经验吗?

1 个回复
最合适的回答,由SO网友:Hendrik Luehrsen 整理而成

在我看来,解决这个问题的办法分为两个步骤。

第一步是设置变量,该变量定义向您发送访问者的附属机构。

第二步是根据第一个变量的值显示适当的徽标。

第一步的解决方案可能如下所示:

if( isset($_GET[\'affiliate\']) ){
    $affiliate_value = $_REQUEST[\'affiliate\'];
    setcookie(\'affiliate\', $affiliate_value, time()+3600);
} elseif( isset($_COOKIE[\'affiliate\']) ){
    $affiliate_value = $_COOKIE[\'affiliate\'];
} else {
    $affiliate_value = NULL;
}
这可能会进入functions.php. 这样做的目的是查看url查询字符串(为了演示,查询变量称为“关联”),如果有值,我们会分配一个变量并将该值保存在cookie中。

如果没有查询字符串,我们将查找cookie。如果不存在任何内容,则该值为NULL。

然后,在定义了$affiliate_value我们可以在header.php 以显示正确的徽标。应该是这样的:

switch($affiliate_value) {
    case("affiliate_one"):
        echo \'<img src="url_to_logo_one" >\';
        break;
    case("affiliate_two"):
        echo \'<img src="url_to_logo_two" >\';
        break;
    case("affiliate_three"):
        echo \'<img src="url_to_logo_three" >\';
        break;
    default:
        echo \'<img src="url_to_default_logo" >\';
        break;
}

结束