在 Woocommerce 中更改移动设备上的 FlexSlider 选项

2024-02-14

默认情况下,在单个产品页面上启用选项“controlNav”=“缩略图”。桌面版没问题。但在移动设备上我希望“controlNav”= true(点)。我尝试使用 ajax 来完成此操作,但我认为我需要以某种方式使用 Flex 幻灯片刷新该片段以应用过滤器。我无法得到它。

在JS文件中:

if (window.matchMedia('(max-width: 800px)').matches) {
      
        $.ajax({
            url: wc_add_to_cart_params.ajax_url,
            data: { action: 'mobile_slider'},
            type: 'POST'
        })
        .then(res => console.log('works', res))
    }

在functions.php中:

function hellenik_change_slider_mobile()
{
    add_filter('woocommerce_single_product_carousel_options', 'hellenik_update_woo_flexslider_options');

    function hellenik_update_woo_flexslider_options($options)
    {

        $options['smoothHeight'] = true;
        $options['controlNav'] = true;
        $options['animation'] = "slide";
        $options['slideshow'] = false;



        return $options;
    }
    
    wp_die();
}
add_action('wp_ajax_mobile_slider', 'hellenik_change_slider_mobile');
add_action('wp_ajax_nopriv_mobile_slider', 'hellenik_change_slider_mobile');

以下即使用WooCommerce专用woocommerce_single_product_carousel_options过滤器钩子和使用 WordPresswp_is_mobile()条件标签:

add_filter( 'woocommerce_single_product_carousel_options', 'filter_single_product_carousel_options' );
function filter_single_product_carousel_options( $options ) {
    if ( wp_is_mobile() ) {
        $options['smoothHeight'] = true; // Already "true" by default
        $options['controlNav'] = true; // Option 'thumbnails' by default
        $options['animation'] = "slide"; // Already "slide" by default
        $options['slideshow'] = false; // Already "false" by default
    }
    return $options;
}

代码位于活动子主题(或活动主题)的functions.php 文件中。经过测试并有效。

请参阅 WooCommerce相关默认设置woocommerce_single_product_carousel_options hook https://github.com/woocommerce/woocommerce/blob/4.2.2/includes/class-wc-frontend-scripts.php#L484-L497:

'flexslider' => apply_filters( 'woocommerce_single_product_carousel_options',
    array(
        'rtl'            => is_rtl(),
        'animation'      => 'slide',
        'smoothHeight'   => true,
        'directionNav'   => false,
        'controlNav'     => 'thumbnails',
        'slideshow'      => false,
        'animationSpeed' => 500,
        'animationLoop'  => false, // Breaks photoswipe pagination if true.
        'allowOneSlide'  => false,
    )
),

文档:WordPress 开发者资源 -wp_is_mobile()条件函数 https://developer.wordpress.org/reference/functions/wp_is_mobile/

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

在 Woocommerce 中更改移动设备上的 FlexSlider 选项 的相关文章

  • 是否有任何理由使用 axios 而不是 ES6 fetch [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 研究了 axios 和 ES6 fetch 的文档 我发现两者非常相似 并且都受到 ajax 及其简写的强烈影响 axios 的主要优点是浏览器
  • document.write 在同一页面上显示内容。

    我对 javascript document write 方法有疑问 大多数情况下 当我使用 document write 时 它会向我显示在不同页面中使用该方法编写的内容 例如 如果我写这样的命令 document write Hello
  • 在给定索引上将字符串分成两部分并返回两部分

    我有一个字符串 需要在给定索引上拆分 然后返回两个部分 并用逗号分隔 例如 string 8211 8 211 98700 98 700 因此 我需要能够在任何给定索引上拆分字符串 然后返回字符串的两半 内置方法似乎执行分割 但只返回分割的
  • 为什么这个递归函数返回未定义?

    我正在尝试编写一个使用递归组合两个字符串的函数 我的代码如下 但我不知道为什么该函数返回未定义 特别是当我在基本情况下使用 console log 时 它不会打印未定义而是打印正确的值 var str3 function merge str
  • PHP 搜索部分字符串

    如何在键入时搜索部分字符串 不使用 MySQL 例如 MySQL 中的 LIKE 函数 但在搜索字符串时使用 PHP 例如 但这显然行不通 但是有没有一个函数可以搜索部分字符串 那太好了 EDIT 如果它在数组中怎么办 如果我使用 strp
  • 使用 eval 时不会受到 XSS 威胁

    我正在制作 不是现在 但我仍然对这个感到好奇 一款使用 HTML5 和 JS 的游戏 我想要的是人们可以插入自定义脚本 但要安全 function executeCustomJS code eval code bad 当然这段代码非常糟糕
  • 文件缓存:查询字符串与上次修改时间?

    我正在研究缓存网站资源的方法 并注意到大多数与我类似的网站都使用查询字符串来覆盖缓存 例如 css style css v 124942823 后来 我注意到每当我保存 style css 文件时 最后修改的标头都会 更新 使得查询字符串变
  • 将 Base64 字符串转换为图像文件? [复制]

    这个问题在这里已经有答案了 我正在尝试将我的 Base64 图像字符串转换为图像文件 这是我的 Base64 字符串 http pastebin com ENkTrGNG http pastebin com ENkTrGNG 使用以下代码将
  • Symfony2 - 在自定义验证器中调用 EmailValidator

    我正在创建一个自定义验证器约束来验证 联系人 类似于 John Doe 电子邮件受保护 gt 遵循Cookbook http symfony com doc current cookbook validation custom constr
  • 安全地评估简单的数学

    我想知道是否有一种安全的方法来评估数学 例如 2 2 10000 12000 10000 20 2 2 40 20 23 12 无需使用eval 因为输入可以来自任何用户 我需要实现的只是整数的加法和减法 是否有任何已经存在的代码片段 或者
  • 当 Chrome 中嵌套滚动中的数据更改时防止页面滚动

    我在页面中有一个固定大小的元素 带有 溢出 滚动 其内容经常更改 我预计该元素内部发生的更改会影响该元素的滚动 但不会影响页面滚动 但是当这个元素位于页面顶部时 页面本身开始滚动 我怎样才能防止这种情况发生 要重现此行为 我在 chrome
  • 为什么 console.log() polyfill 不使用 Function.apply()?

    我一直在看一些流行的console log 包装 填充 保罗 爱尔兰的 http paulirish com 2009 log a lightweight wrapper for consolelog 本阿尔曼的 http benalman
  • 访问 PHP 数组对象受保护的属性

    我正在尝试在 Symfony2 中上传多个文件 我正在尝试访问以下请求对象 但无法获取参数属性 如何将文件一一上传 我得到的错误 致命错误 无法访问第 66 行 var www File src Webmuch FileBundle Ent
  • 使用 yaml 路由描述时如何在运行时获取 Symfony2 中的路由名称?

    在这里你可以找到我的n关于 Symfony2 的第一个问题 我正在与一个分页捆绑 https github com makerlabs PagerBundle wiki使用中提供的路由名称routing yml文件 从我的角度来看 这种方法
  • D3 强制布局,较大的节点聚集在中心

    我一直在修改将用于标签云的强制布局 每个标签都由一个
  • Firebase 身份验证和实时应用程序数据库如何保护自身安全?

    从一般开发的角度来看 我很好奇如何保护在线资源的访问 我们使用以下 Firebase 配置参数初始化 Web 应用程序 apikey authdomain projectid databaseurl messagesenderid 服务器如
  • 加载 Angular 库时,IE9 和 IE10 中出现 Angular JS“SCRIPT5007:预期对象”错误

    我正在开发一个 AngularJS 应用程序 该应用程序应在 Firefox IE 9 和 IE 10 上运行 我使用最新版本的 angularjs 库 现在是 1 3 15 服务器端是在JavaEE平台上用Java编写的 服务器运行在Gl
  • 如何得知客户端从服务器的下载速度?

    根据客户的下载速度 我想以低质量或高质量显示视频 任何 Javascript 或 C 解决方案都是可以接受的 Thanks 没有任何办法可以确定 您只能测量向客户端发送数据的速度 如果没有来自客户端的任何类型的输入来表明其获取信息的速度 您
  • 有序 JSON 对象

    我有一个 servlet 它与数据库通信 然后返回有序 按时间排序 对象的列表 在servlet部分 我有 access DB returns a list of User objects ordered ArrayList users M
  • 单元测试和静态方法

    阅读并学习单元测试 试图理解以下帖子 http misko hevery com 2008 12 15 static methods are death to testability 这解释了静态函数调用的困难 我不太清楚这个问题 我一直认

随机推荐

  • Flutter:垃圾收集 - 如何检查?

    在 Flutter 中 如何检查我是否正确释放 处置 所有内容 我正在构建一个应用程序 我感觉模拟器在一系列热重载后变得越来越慢 非常感谢您的回答 Dart 带有一个名为的调试器Observatory 它可以满足您所需的一切 从 CPU 内
  • 如何使用 Java 8 Streams 按对象属性分组并映射到另一个对象?

    假设我有一组碰碰车 它们的侧面有尺寸 颜色和标识符 汽车代码 class BumperCar int size String color String carCode 现在我需要将碰碰车映射到List of DistGroup对象 每个对象
  • HTML 5 音频当前位置

    将 HTML 5 与 DOM 一起使用 有没有办法获取用户正在播放音频文件的当前位置 并在稍后返回到该位置 See the HTML媒体元素 http dev w3 org html5 spec Overview html htmlmedi
  • 使用 **kwargs 将 **kwargs 参数传递给另一个函数

    我不明白下面的例子 假设我有这些功能 python likes def save filename data kwargs fo openX filename w kwargs lt 1 fo write data fo close pyt
  • Omniauth-facebook 登录无法正常工作

    当我尝试使用omniauth facebook 登录我的Rails 应用程序时 出现以下错误 这是在 localhost 3000 上测试时 不安全登录被阻止 您无法从不安全页面获取访问令牌或登录此应用程序 尝试将页面重新加载为 https
  • 命令设计模式 - 调用者是可选的吗?

    Command 设计模式中 Invoker 类是可选的吗 客户端需要实例化命令的具体命令和接收器 客户端是否总是需要实例化 Invoker 并将命令对象传递给 Invoker 对象 稍后 每当客户端需要执行命令时 客户端只需询问 Invok
  • FizzBu​​zz 列表理解

    当我学习 python 时 我正在摆弄一些不同的 fizzuzz 脚本 我发现这个效果很好 但我无法破译它是如何工作的 我知道正常的嘶嘶声如何与 for 循环和 if i 3 0 and i 5 0 一起工作 让我困惑的是如何 Fizz n
  • 批处理文件创建另一个批处理文件,如何在写入行时忽略命令?

    我正在编写的 Windows 批处理文件遇到了一些问题 我需要批处理文件将一些特定行写入另一个批处理文件 我一直使用的方法是 type NUL gt batchfile bat ECHO texttobewrittentofile gt g
  • Spark 2.x 的 Spark.sql.crossJoin.enabled

    我正在使用 预览 Google DataProc Image 1 1 和 Spark 2 0 0 为了完成我的一项操作 我必须完成笛卡尔积 从2 0 0版本开始 创建了一个spark配置参数 spark sql cross Join ena
  • Perl 抛出“参考键是实验性的”

    开发环境为OS X 10 10 3 Perl v This is perl 5 version 18 subversion 2 v5 18 2 built for darwin thread multi 2level with 2 regi
  • lambda 表达式中的枚举的编译方式不同;重载解析改进的结果是什么?

    在尝试 Visual Studio 2015 RC 时 我收到了先前工作代码的运行时错误 给定 lambda x gt x CustomerStatusID CustomerStatuses Active 它被传递给一个函数作为Expres
  • 在 Google Market 上发布一款应用的多个版本

    我有一个 Android 应用程序 我想用它来显示高质量的图像 然而 有许多不同的屏幕尺寸和比例 我知道有一些过滤器可以在市场中显示仅适用于小 中 大屏幕设备的应用程序 如果我将两种尺寸的图像放入 1 个应用程序中 应用程序的大小将会增加一
  • 在 RSA 下解码有效负载后未获得相同的会话密钥

    使用以下使用 crypto 库的函数对其进行编码和解码后 我没有获得相同的会话密钥 CryptoPP RSA PrivateKey RSA master privKey CryptoPP RSA PublicKey RSA master p
  • 启动/广播接收器重启问题

    这是一个相当常见的问题 但我失去了理智 我想我已经彻底满足了要求 我希望 BroadcastReceiver 在手机重新启动时执行某些操作 我的广播接收器 用于启动 public class BootReceiver extends Bro
  • Python 闭包和单元格(封闭值)

    Python 的机制是什么使得 lambda x for x in range 5 2 is 4 将 x 的副本绑定到每个 lambda 表达式以使上述表达式等于 2 的常用技巧是什么 我的最终解决方案 for template model
  • 如何让 Chrome 浏览器版本现在与 Python 一起运行? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在使用 selenium 运行一个应用程序 并且在运行 Chrome 驱动程序之前我想知道安装的实际 chrome 浏览器版本 以避免出
  • 如何在 LLVM 中将 genericValue 转换为 Value?

    我从事口译工作 我在内存中有一个变量的地址 我设法从它中获取实际值 并使用 LoadValueFromMemory 函数将其放入 genericValue 中 现在我需要创建一个 StoreInst 并希望将获得的值放入 Value 对象中
  • 带有 where 子句的 SQL 窗口函数?

    我正在尝试为用户关联两种类型的事件 我想查看所有事件 B 以及该用户在 A 事件之前的最新事件 A 如何实现这一目标呢 特别是 我正在尝试在 Postgres 中做到这一点 我希望可以在窗口函数中使用 where 子句 在这种情况下 我基本
  • Flutter:读取 BloC 状态的 Stream 数据,如果发生变化则重新渲染 UI

    我在使用 BloC 模式并结合使用 Dio 显示下载过程时遇到问题 谁能告诉我 如何从 dio 获取 onUploadProgress 进入块状态并在状态内的进度更新时显示它 目前我有 UI BloC 和 API 类 我需要将我的块传递到
  • 在 Woocommerce 中更改移动设备上的 FlexSlider 选项

    默认情况下 在单个产品页面上启用选项 controlNav 缩略图 桌面版没问题 但在移动设备上我希望 controlNav true 点 我尝试使用 ajax 来完成此操作 但我认为我需要以某种方式使用 Flex 幻灯片刷新该片段以应用过