采集数据产品描述有超链接///设置免运费后,达到免送标准,其他运费不显示///给产品详情页面的图片点击放大是个模态窗///在shop页面有重复的产品展示,去重
//产品描述有超链接,去掉
function remove_product_hyperlinks($content) {
if (is_product()) { // 确保只在产品页面上应用
$content = preg_replace('/<a href=".*?">(.*?)<\/a>/', '$1', $content);
}
return $content;
}
add_filter('the_content', 'remove_product_hyperlinks');
// 设置免运费后,达到免送标准,其他运费不显示
function js_hide_all_shipping_when_free_is_available( $shipping_rates ) {
foreach ( $shipping_rates as $key => $rate )
{ // Check if current rate is 'free_shipping'
if ( $rate->get_method_id() == 'free_shipping' )
{ $shipping_rates = array( $key => $rate ); }
}
return $shipping_rates;
}
add_filter( 'woocommerce_package_rates', 'js_hide_all_shipping_when_free_is_available' );
//给产品详情页面的图片点击放大是个模态窗
function theme_enqueue_scripts_and_styles() {
wp_enqueue_style('custom-style', get_stylesheet_directory_uri() . '/css/custom-style.css');
wp_enqueue_script('custom-script', get_template_directory_uri() . '/js/custom-script.js', array('jquery'), null, true);
$inline_script = "
jQuery(document).ready(function($) {
$('body').append('<div id=\"myModal\" class=\"modal\"><span class=\"close\">×</span><img class=\"modal-content\" id=\"img01\"></div>'); // CSS for the modal
var modal_css = '<style>\
.modal {display: none; position: fixed; z-index: 1000; padding-top: 100px; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgb(0,0,0); background-color: rgba(0,0,0,0.9);}\
.modal-content {margin: auto; display: block; max-width: 40%;}\
.close {position: absolute; top: 15px; right: 35px; color: white; font-size: 40px; font-weight: bold; cursor: pointer;}\
</style>';
$('head').append(modal_css); $('.woocommerce-product-gallery__image a').click(function(event) {
event.preventDefault();
var imgSrc = $(this).find('img').attr('src');
$('#img01').attr('src', imgSrc);
$('#myModal').css('display', 'block');
});
$('.close').on('click', function() {
$('#myModal').css('display', 'none');
});
});
"; wp_add_inline_script('custom-script', $inline_script);
} add_action('wp_enqueue_scripts', 'theme_enqueue_scripts_and_styles');
//在shop页面有重复的产品展示,去重
add_filter( 'posts_groupby', 'custom_posts_groupby', 10, 2 );
function custom_posts_groupby( $groupby, $query ) {
global $wpdb; // 只在前端的WooCommerce商品页面上应用
if ( ! is_admin() && $query->is_main_query() && ( is_shop() || is_product_category() || is_product_tag() ) ) {
// 添加我们自己的groupby逻辑,基于商品标题
$groupby = "{$wpdb->posts}.post_title";
} return $groupby;
} add_action( 'woocommerce_product_query', 'custom_product_query' );
function custom_product_query( $q ) {
$q->set( 'posts_per_page', 12 ); // 设置每页显示的产品数量,根据需要更改
$q->set( 'orderby', 'title' ); // 基于产品标题排序
$q->set( 'order', 'ASC' ); // 升序或降序
}
//去重1.20版本
add_action('woocommerce_product_query', 'filter_and_randomize_products');
function filter_and_randomize_products($query) {
if (is_shop() || is_product_category() || is_product_tag()) {
global $wpdb;
// 获取所有唯一的产品标题
$product_titles = $wpdb->get_col("
SELECT DISTINCT post_title
FROM {$wpdb->posts}
WHERE post_type = 'product'
AND post_status = 'publish'
");
// 获取每个标题对应的最小ID
$product_ids = [];
foreach ($product_titles as $title) {
$product_id = $wpdb->get_var($wpdb->prepare("
SELECT MIN(ID)
FROM {$wpdb->posts}
WHERE post_title = %s
AND post_type = 'product'
AND post_status = 'publish'
", $title));
$product_ids[] = $product_id;
}
// 打乱产品ID顺序
shuffle($product_ids);
// 修改查询参数
$query->set('post__in', $product_ids);
$query->set('orderby', 'post__in');
}
}
采集数据产品描述有超链接///设置免运费后,达到免送标准,其他运费不显示///给产品详情页面的图片点击放大是个模态窗///在shop页面有重复的产品展示,去重的更多相关文章
- 找出此产品描述中包含N个关键字的长度最短的子串
阿里巴巴笔试题:给定一段产品的英文描述,包含M个英文字母,每个英文单词以空格分隔,无其他标点符号:再给定N个英文关键词,请说明思路并变成实现方法. String extractSummary(Stri ...
- 让超链接点击后不跳转,可以用href = "#",但是这个#就会锚点到页面最上边 点击链接后不跳转可以设置成
让超链接点击后不跳转,可以用href = "#",但是这个#就会锚点到页面最上边 点击链接后不跳转可以设置成 1.<a href="javascri ...
- 服务追踪数据使用 RabbitMQ 进行采集 + 数据存储使用 Elasticsearch + 数据展示使用 Kibana
服务追踪数据使用 RabbitMQ 进行采集 + 数据存储使用 Elasticsearch + 数据展示使用 Kibana https://www.cnblogs.com/xishuai/p/elk- ...
- 《ServerSuperIO Designer IDE使用教程》- 7.增加机器学习算法,通讯采集数据与算法相结合。发布:4.2.5 版本
v4.2.5更新内容:1.修复服务实例设置ClearSocketSession参数时,可能出现资源无法释放而造成异常的情况.2.修复关闭宿主程序后进程仍然无法退出的问题.2.增加机器学习框架.3.优化 ...
- Arduino系列之DHT11模块采集数据(一)
下面我将介绍DHT11模块的相关用法 DHT11数字传感器概述:是一款含有已校准数字信号输出的温湿度复合传感器 .它应用专用的数字模块采集技术和温湿度传感技术 ,确保产品具有极 高的可靠性与卓越的长期 ...
- {03--CSS布局设置} 盒模型 二 padding bode margin 标准文档流 块级元素和行内元素 浮动 margin的用法 文本属性和字体属性 超链接导航栏 background 定位 z-index
03--CSS布局设置 本节目录 一 盒模型 二 padding(内边距) 三 boder(边框) 四 简单认识一下margin(外边距) 五 标准文档流 六 块级元素和行内元素 七 浮动 八 mar ...
- 分布式监控系统之Zabbix 使用SNMP、JMX信道采集数据
前文我们了解了zabbix的被动.主动以及web监控相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14024212.html:今天我们来了解下zabb ...
- php中CURL实现模拟登录并采集数据
在php中采集我们用的是简单的采集方式(例如file_get_contents)就无法做到了,但是如果想模拟登录用户并采集利用它就没办法了,我们可利用CURL函数来实现模拟登录并采集数据 这里要说一些 ...
- SqlServer创建数据表描述及列描述信息
SqlServer创建数据表描述及列描述信息 Intro Q: 为什么要创建描述信息? A: 鼠标悬停在对应表和列上时,会出现描述信息,可以提高工作的效率,借助工具我们根据数据表可以生成Model,可 ...
- 利用Dockerfile构建mysql镜像并实现数据的初始化及权限设置
本文提要 本文目的不仅仅是创建一个MySQL的镜像,而是在其基础上再实现启动过程中自动导入数据及数据库用户的权限设置,并且在新创建出来的容器里自动启动MySQL服务接受外部连接,主要是通过Docker ...
随机推荐
- 题解:CF1918B Minimize Inversions
CF1918B Minimize Inversions 思路 暴力 一个一个的算,复杂度巨大. 数学规律 让逆序最少,也就是让升序更多.我们可以通过多组数据实验,最终我们会发现,将数列 \(A\) 减 ...
- springboot简单正确的使用构造函数注入
一个一个写构造函数太麻烦了,而且代码会显得非常多,这里我们可以采用lombok快捷注入 但是我们并不是所有的成员变量都需要进行注入,所以使用 @RequiredArgsConstrucotr 需要构造 ...
- 大厂面经: 字节跳动 iOS开发实习生-飞书
好家伙, 线上面试,总时长1h30mins左右 整体流程: 0.自我介绍(0-2mins) 1.做的比较难的事情(15min) 我讲我之前写的一个低开平台,写了一个撤销回退功能,提了个pr,用了节流, ...
- 【Zookeeper】Re03 集群搭建
我这里采用的是模拟真实情况: 部署三台虚拟机Centos7 192.168.242.101 192.168.242.102 192.168.242.103 每台机器都安装Zookeeper且一致: / ...
- 【Windows】远程访问设置
Windows自带了远程访问功能: Win + R 打开运行,输入[mstsc] 连接需要提供主机地址,和用户账号 下面的选项可以保存此连接为文件,下一次连接直接打开文件即可访问 当然设置了以后可能还 ...
- 树莓派3b+使用官方屏幕后倒置问题——屏幕倒置
树莓派3b+的屏幕本身就是倒置的,因此为了使树莓派在官方屏幕下能显示正常的屏幕画面因此需要通过设置把树莓派的官方屏幕的输出倒置一下,这样树莓派的官方屏幕的输出就是正常的了. 解决方法:(源自:http ...
- 个人的谷歌学术主页:https://scholar.google.co.kr/citations?user=jHvm-VAAAAAJ&hl=en
主页地址: https://scholar.google.co.kr/citations?user=jHvm-VAAAAAJ&hl=en
- 再探 游戏 《 2048 》 —— AI方法—— 缘起、缘灭(4) —— state-of-the-art
<2048>游戏在线试玩地址: https://play2048.co/ 该游戏的解法比较不错的资料为外网的一个讨论帖子: What is the optimal algorithm fo ...
- 8月5日CSP-S模拟赛赛后总结
8月5日CSP-S模拟赛赛后总结 \[8月5日 \ \ CSP-S模拟赛 \ \ 赛后总结 \\ 2024年8月5日 \\ by \ \ \ uhw177po \] 一.做题情况 第一题比赛 \(10 ...
- mysql8.0.16免安装教程
Win10下免安装版MySQL8.0.16的安装和配置 1.MySQL8.0.16解压 其中dada文件夹和my.ini配置文件是解压后手动加入的,如下图所示 2.新建配置文件my.ini放在D: ...