【问题标题】:How do I hide referrer link in woocommerce product如何在 woocommerce 产品中隐藏引荐来源链接
【发布时间】:2020-05-02 04:07:05
【问题描述】:

我在 woo-commerce 产品的简短描述中有一个链接。这种链接类型存在于我拥有的每个产品中(当然不同)。

我需要一个脚本来自动更改链接。这些是我迄今为止尝试过的尝试:

  1. WP-HideRefer 我已经安装了插件(https://wordpress.org/plugins/wp-hiderefer/),没有用。没有更改任何链接。

  2. 添加的脚本 我使用了https://anonym.to/ 中提供的脚本并放在了我的footer.php 的末尾(之前),没有用。

  3. 尝试了许多其他的 Wordpress 隐藏引荐来源插件,均无效。

到目前为止,我迷路了。我不确定。

TL:DR 在每个外部链接前附加文本(woocommerce 产品的简短描述/正常描述的链接,除了自己的网站域/链接。

https://www.google.com/ is on my woocommerce product. 
When user loads the product, he sees https://anonym.to/?https://www.google.com/ instead. 
(https://anonym.to/? + link)

【问题讨论】:

  • 那么您是要修改/更改链接,还是要确保他们最终访问的站点无法将您的站点视为引用站点?你能解释一下你想要达到的目标吗?
  • @Wesley-Synio 对不起。基本上在每个链接前面附加一个文本。假设google.com 在我的 woocommerce 产品上。当用户加载产品时,他看到的是anonym.to/?https://www.google.com。 (anonym.to? + 链接)

标签: php wordpress woocommerce


【解决方案1】:

此代码 sn-p 将替换 WooCommerce 产品页面上的所有 URL,包括摘录(简短描述)以及更长的描述/内容(如果需要)。

它使用正则表达式替换 URL。

function so61548594_anonymize_urls($description) {
    $prefix = 'https://anonym.to/?';
    $description = preg_replace(
        '#(<a.*?)href=["\']([^"\']+)["\'](.*?>[^>]*</a>)#i',
        ('$1href="' . $prefix . '$2"$3'),
        $description
    );
    return $description;
}

add_filter('woocommerce_short_description', 'so61548594_anonymize_urls');
add_filter('the_content', function ($description) {
    if (function_exists('is_product') && is_product()) {
        return so61548594_anonymize_urls($description);
    }
    return $description;
});

让我知道它是否适合你。

【讨论】:

  • 应该放在footer.php还是其他文件?
  • 我已粘贴到 footer.php 中,但它不起作用。我也将代码封装在 标记中
  • 您有自定义主题吗?然后把它放在functions.php那里。或者,您可以在插件目录中创建一个新文件或文件夹,并在其中添加一个带有代码文本的新文件。但是您还必须将所需的插件标头(至少名称)添加到文件的顶部。 developer.wordpress.org/plugins/plugin-basics/… 您还必须在仪表板中启用插件。
猜你喜欢
  • 1970-01-01
  • 2014-08-20
  • 1970-01-01
  • 2013-07-25
  • 2013-03-28
  • 2021-09-21
  • 1970-01-01
  • 2016-07-28
  • 1970-01-01
相关资源
最近更新 更多