自定义商店页面产品以直接进入联属网站

2024-01-07

我需要在 WooCommerce 上使用什么,这样当您在商店/目录页面上看到产品时,它会直接链接到联属网站,而不是通过单个产品页面。

然后,如果可能的话,在新选项卡中打开它。

Thanks


更新:添加了 WC 3+ 兼容性

对于您的情况,您需要自定义 3 个相关的自定义挂钩函数:

### Custom Product link ###

// Removing the default hooked function
remove_action( 'woocommerce_before_shop_loop_item', 'woocommerce_template_loop_product_link_open', 10 );
// Add back the hook to a custom function
add_action ( 'woocommerce_before_shop_loop_item', 'custom_loop_product_link', 10 );
function custom_loop_product_link() {
    $custom_link = get_permalink( 16 ); // link to a custom page
    echo '<a href="' . $custom_link . '" class="woocommerce-LoopProduct-link">';
}

### Custom add-to-cart link ###

add_filter( 'woocommerce_loop_add_to_cart_link', 'customizing_add_to_cart_button', 10, 2 );
function customizing_add_to_cart_button( $link, $product ){
    // CUSTOM ADD TO CART text and link
    $add_to_cart_url = site_url('/custom_link/');
    $button_text =  __('View now', 'woocommerce');

    // compatibility with WC +3
    $product_id = method_exists( $product, 'get_id' ) ? $product->get_id() : $product->id;
    $product_type = method_exists( $product, 'get_type' ) ? $product->get_type() : $product->product_type;

    $link = sprintf( '<a href="%s" rel="nofollow" data-product_id="%s" data-product_sku="%s" data-quantity="%s" class="button product_type_%s">%s</a>',
        esc_url( $add_to_cart_url ),
        esc_attr( $product_id ),
        esc_attr( $product->get_sku() ),
        esc_attr( isset( $quantity ) ? $quantity : 1 ),
        esc_attr( $product_type ),
        esc_html( $button_text )
    );

    return $link;
}

### Custom link Redirect after add-to-cart ###

add_filter( 'woocommerce_add_to_cart_redirect', 'my_custom_add_to_cart_redirect', 10, 1 );
function my_custom_add_to_cart_redirect( $url ) {
    $url = get_permalink( 16 ); // an example: here redirect is on page ID 16
    return $url;
}

该代码位于活动子主题(或主题)的 function.php 文件中或任何插件文件中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自定义商店页面产品以直接进入联属网站 的相关文章

  • 使用php在html页面中显示bbcode

    我已经有一个 bbcode 字符串 mybbcode b Hello word b 使用 php 我想在 html 页面中以 html 格式显示它 例如 div gt b hello word b div 基本上其他人已经对你说过了 但是如
  • 在 PHP 中拆分 XML

    我有一个带有根元素和多个项目子元素的合并 xml 像这样的东西
  • 如何在 PHP 中将默认日期设置为波斯日期?

    如何在 PHP 中将默认日期设置为波斯日期 说吧 如果我echo这个功能date Y m d 然后它会显示2018 03 05但我想要1396 12 14波斯日期 请检查 http php net manual en intldatefor
  • 为什么 SORT_REGULAR 在 PHP 中产生不一致的结果?

    我正在开发一个类 它使 PHP 中的数组排序变得更容易 并且我一直在使用 SORT 常量 但是行为或SORT REGULAR 默认排序类型 似乎有所不同 具体取决于您在数组中添加项目的顺序 此外 我找不到任何模式来解释为什么会出现这种情况
  • $_REQUEST、$_GET、$_POST 哪一个最快?

    这些代码中哪一个会更快 temp REQUEST s or if isset GET s temp GET s else temp POST s REQUEST http php net manual en reserved variabl
  • PHP:如何发送电子邮件基础知识

    我想使用 PHP 从本地主机向其他人发送电子邮件 我需要做什么才能做到这一点 例如我需要安装邮件服务器吗 如果我没记错的话 有一种语言不需要邮件服务器来发送电子邮件 这样对吗 PHP ini里面有 邮件功能 如何配置这个 我在网上查了一下
  • PHP 从日志事件中获取行号

    好的 我还有一个问题HERE https stackoverflow com questions 3213423 php how could i make this class better suggestions feedback wel
  • 为什么使用闭包进行赋值而不是直接将值赋给键?

    我当时正在看在 7 10 他添加了一个数据库依赖项并使用闭包来分配值 我的问题是为什么不直接使用直接赋值 我的意思是不这样做 container db capsule 相当于这样做 container db function contain
  • 用PHP动态生成二维码[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试在我的网站上生成二维码 他们所要做的就是在其中包含一个 URL 我网站上的变量将提供该 URL
  • 维护 HttpUrlConnection 调用之间的会话(Native/Webview)

    让我从我做的开始desire 我想制作一个应用程序part native and part webviews Problem 维护本机和 webview 部分之间的会话 My 处理方法 this 我打算实现一个本机登录 其中我向用户展示两个
  • 新的 Wp_Query() 或 pre_get_posts() 来查看自定义帖子类型的所有帖子?

    我有一个存档模板文件 显示自定义帖子类型人员的所有帖子 称为 archive personnel php 这是文件的开头
  • 如何缓存 twitter api 结果?

    我想缓存 twitter api 结果的结果并将其显示给用户 缓存结果的最佳方法是什么 我正在考虑根据时间限制将结果写入文件 可以吗 还是应该使用任何其他方法 最重要的是 理想的缓存时间是多少 我想显示来自 twitter 的最新内容 但
  • PHP:展平数组-最快的方法? [复制]

    这个问题在这里已经有答案了 是否有任何快速方法可以在不运行 foreach 循环的情况下展平数组并选择子键 在本例中为 键 和 值 或者 foreach 始终是最快的方法 Array 0 gt Array key gt string val
  • 如何使 WordPress 主题全宽?

    我尽了最大努力 但无法通过编辑 CSS 使以下主题全宽 屏幕 如果您能向我展示或给我有关此定制的提示 我将不胜感激 http demo mythemeshop com sociallyviral http demo mythemeshop
  • 连接 3 三张表

    我有这个图表应该可以解释我的情况 我需要一些关于连接 3 个表的帮助 我不知道如何做这种事情 因此 我可以通过执行以下操作来经历一段检索记录的 while 循环 img src alt Album AlbumID 使用内部联接 http w
  • 表单提交后显示 $_FILES['image']

    提交表单后如何显示上传的图片 提交表单后 它将是一个预览页面 因此我不会在 MySQLet 中存储图像类型 BLOB 如何显示 FILES image
  • 有关于 PHP 中的 V8JS 的文档吗?

    有没有关于V8JS的文档 我是否只需要标准 PHP 或一些扩展即可使用 V8JS 我将非常感谢有关 PHP 中的 V8JS 的任何信息 要求 PHP 5 3 3 和 V8 库和标头安装在正确的路径中 Install http www php
  • PHP 中的坏词过滤器?

    我正在用 PHP 编写一个坏词过滤器 我在数组中有一个坏词列表 方法 clean text 的写法如下 public static function cleanse text originalstring if self is sorted
  • 使用“AND”表达式构建动态 SQL,而不混淆嵌套条件?

    总的来说 我对 php 和编码相当陌生 我有一系列条件需要测试它们是否已设置 它们是 option1 option2 option3 if isset option1 if isset option2 if isset option3 qu
  • MYSQL 按喜欢/不喜欢和受欢迎程度排序

    我有评论表 其中包括喜欢和不喜欢的内容 现在我在正确的顺序上遇到了问题 实际上 我的系统在顶部显示了最多点赞的评论 我正在 youtube 上寻找类似系统的东西 这意味着 100like 100dislikes 的评论的顺序高于 1 1 我

随机推荐

  • Vue.js - 如何将 props 传递给孙子

    我有以下应用程序结构 RegistrationView holds the data logic like get post RegistrationForm holds the form Registration Radio Compon
  • 使用 JSch 跳过 Kerberos 身份验证提示 [重复]

    这个问题在这里已经有答案了 我正在使用Connect 方法中的Ssh下面的 Java 类用于使用 SSH JSch 连接到服务器并在服务器中运行命令 问题是运行时Connect 服务器提示以下消息 Kerberos username Ker
  • clojure 中惯用的文件锁定?

    我有一组来自队列的 future 处理作业 涉及写入文件 确保一次只有一个未来访问特定文件的惯用方法是什么 使用代理而不是锁来确保这一点怎么样 我认为使用代理来保护共享的可变状态 无论它是在内存中还是在磁盘上 在 clojure 中比使用锁
  • 活动标题语言有问题

    我的应用程序中有两种语言 值 strings xml and 值 ru strings xml当我以编程方式更改语言时 所有字符串都会翻译 但活动标题不变 我在所有活动中使用 SharedPreferences prefs Preferen
  • 如何对列表使用二分查找

    让我们从 List BinarySearch 的重载开始 public int BinarySearch T item IComparer
  • 无法在 Android 中导入 com.google.cloud.speech.v1.SpeechGrpc

    我正在尝试使用谷歌的语音API https github com GoogleCloudPlatform android docs samples tree master speech Speech在Android项目中 示例项目有效 我在
  • Kendo Grid:工具栏模板问题

    我有一个列出道路信息的网格 并且需要一个工具栏模板 该模板允许我通过从 DropDownList 中选择特许权来过滤道路 像这样的东西 http demos telerik com aspnet mvc grid toolbar templ
  • 如何在服务器上运行java程序?

    我制作了一个 java 应用程序 将 csv 文件中的数据存储到 MySql 数据库中 现在我的客户希望它将此应用程序上传到他的网络空间 他为其网站占用的网络空间 以便他可以在该服务器上运行该程序 我用过FileZilla软件将程序上传到他
  • exoplayer 示例上的自定义 UI

    我真的需要帮助 如果你什么都不知道 请不要给我负面评价 如果有什么困扰你评论 我想在 Exoplayer 中为我的播放器编写自定义 UI 更改暂停播放按钮或添加新按钮 例如播放器速度下一个等 我使用 github 上的 Exoplayer
  • 如何在共享点中创建子列表

    是否可以在共享点中创建子列表 我目前正在使用文件夹来组织我的内容 但在以编程方式访问文件夹时 文件夹在共享点中是完全不同的概念 我想实现类似的目标 web 名单A 子列表1 子列表2 B表 子列表1 子列表2 EDIT 1 我正在尝试在网络
  • 使用 javascript 从数组中存在的字符串中删除双引号

    我有一个像这样的数组 数组 苹果 橙子 梨 我想删除数组中每个字符串开头和结尾的双引号 数组 苹果 橙子 梨 我尝试循环遍历数组的每个元素并进行字符串替换 如下所示 for var i 0 i lt array length i array
  • 如何一次关闭所有打开的选项卡?

    如果我打开了 10 个选项卡 我必须分别使用 q 关闭每个选项卡 我怎样才能一次性关闭它们呢 最短 最简单 最快的方法是 qa 要保存所有选项卡中的工作并退出 wqa
  • 在 Internet Explorer 中输入文件长度

    我想获取为输入文件选择的文件数 在 HTML 中 我有
  • 为什么 Dart 中显式使用“.cast<>()”函数而不是“as <>”

    在我的问题中Dart 2 X List cast 不组合 https stackoverflow com questions 49539879 dart 2 x list cast does not compose答案需要转换List
  • 如何发布Web应用程序?

    我真的不知道如何在Web开发中正确执行从离线开发到实时Web服务器的部署 我主要依靠直觉 但这或多或少是我到目前为止所做的 我有一个 python 或 php 的 Web 应用程序 并将其托管在实时 Web 服务器上 我用的是离线开发版本
  • 使用终端和 MacFusion 时出现 GIT_DISCOVERY_ACROSS_FILESYSTEM 问题

    我使用 MacFusion 和 OSXFuse 类似于 MacFuse 通过 SSH 将我的服务器安装到我的办公室计算机上 当我 cd 进入服务器上的 Rails 工作目录时 我在 zsh 提示符中看不到任何 git 信息 如果我尝试 gi
  • Android 中的 HTTP 客户端 API 级别 11 或更高级别

    我有 Jersey 实现的 Restful Web 服务 我通过 HTTP 客户端从 Android 进行连接以获取数据 它在 API 级别 10 及更早版本中工作正常 但在 API 级别 11 或更高版本上则不行 我很感激任何帮助 我在这
  • 按元素上的条件值对 numpy 数组元素进行排序

    我需要通过增加与另一个点的距离来对点的 numpy 数组进行排序 import numpy as np def dist i j ip jp return np sqrt i ip 2 j jp 2 arr np array 0 0 1 2
  • @Valid 注释在应用于 MultipartFile 对象时会被忽略

    这是我的控制器 它接受一个multipart form data有两个字段的请求 form and file The form字段是一个MyObject the file字段是一个MultipartFile 两个变量都注释为 Valid 因
  • 自定义商店页面产品以直接进入联属网站

    我需要在 WooCommerce 上使用什么 这样当您在商店 目录页面上看到产品时 它会直接链接到联属网站 而不是通过单个产品页面 然后 如果可能的话 在新选项卡中打开它 Thanks 更新 添加了 WC 3 兼容性 对于您的情况 您需要自