首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在WP woocommerce中按更多字段排序?

在WP WooCommerce中按更多字段排序,可以通过以下步骤实现:

  1. 安装和激活插件:首先,在WordPress后台的插件管理页面中搜索并安装一个名为“Advanced Custom Fields”(高级自定义字段)的插件,并激活它。这个插件可以帮助我们添加自定义字段。
  2. 创建自定义字段:在WordPress后台的“自定义字段”菜单下,创建一个新的自定义字段组。在这个组中,添加需要用于排序的字段,例如“价格”、“销量”、“评分”等。
  3. 将自定义字段应用到产品:在WooCommerce产品编辑页面中,找到“自定义字段”选项卡。在这里,选择之前创建的自定义字段组,并为每个字段输入相应的值。确保为每个产品都填写了相应的字段值。
  4. 修改排序功能:打开主题的functions.php文件(如果主题没有这个文件,可以创建一个),在文件末尾添加以下代码:
代码语言:php
复制
add_filter('woocommerce_get_catalog_ordering_args', 'custom_woocommerce_catalog_orderby');

function custom_woocommerce_catalog_orderby($args)
{
    $orderby_value = isset($_GET['orderby']) ? wc_clean($_GET['orderby']) : apply_filters('woocommerce_default_catalog_orderby', get_option('woocommerce_default_catalog_orderby'));

    if ('custom_field' == $orderby_value) {
        $args['orderby'] = 'meta_value_num';
        $args['order'] = 'desc';
        $args['meta_key'] = 'custom_field'; // 替换为你创建的自定义字段的名称
    }

    return $args;
}

这段代码将会在排序选项中添加一个名为“custom_field”的选项,并按照该字段进行排序。

  1. 显示排序选项:在主题的archive-product.php文件(或其他适当的模板文件)中,找到排序选项的代码位置,添加以下代码:
代码语言:php
复制
<form class="woocommerce-ordering" method="get">
    <select name="orderby" class="orderby">
        <option value="menu_order" <?php selected($orderby, 'menu_order'); ?>><?php _e('Default sorting', 'woocommerce'); ?></option>
        <option value="popularity" <?php selected($orderby, 'popularity'); ?>><?php _e('Sort by popularity', 'woocommerce'); ?></option>
        <option value="rating" <?php selected($orderby, 'rating'); ?>><?php _e('Sort by average rating', 'woocommerce'); ?></option>
        <option value="date" <?php selected($orderby, 'date'); ?>><?php _e('Sort by newness', 'woocommerce'); ?></option>
        <option value="price" <?php selected($orderby, 'price'); ?>><?php _e('Sort by price: low to high', 'woocommerce'); ?></option>
        <option value="price-desc" <?php selected($orderby, 'price-desc'); ?>><?php _e('Sort by price: high to low', 'woocommerce'); ?></option>
        <option value="custom_field" <?php selected($orderby, 'custom_field'); ?>><?php _e('Sort by custom field', 'woocommerce'); ?></option> // 添加这一行代码
    </select>
    <input type="hidden" name="paged" value="1" />
    <?php wc_query_string_form_fields(null, array('orderby', 'submit', 'paged', 'product-page')); ?>
</form>

这段代码将在排序选项中添加一个名为“Sort by custom field”的选项。

完成以上步骤后,你就可以在WP WooCommerce中按更多字段进行排序了。请注意,上述代码中的“custom_field”需要替换为你实际创建的自定义字段的名称。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

多个字段如何其中两个进行排序(二次排序

多个字段如何其中两个进行排序(二次排序) 1 原理     二次排序就是首先按照第一字段排序,然后再对第一字段相同的行按照第二字段排序,注意不能破坏第一次排序的结果。     ...这里主要讲如何使用一个Mapreduce就可以实现二次排序。Hadoop有自带的SecondarySort程序,但这个程序只能对整数进行排序,所以我们需要对其进行改进,使其可以对任意字符串进行排序。...在第一个 例子,使用了IntPair实现的compareTo方法,而在下一个例子,专门定义了key比较函数类。      ...同样注意输入与输出的类型必须与自定义的Reducer声明的一致。  ...IntPair.class, true);         }         // Compare two WritableComparables.         // 重载 compare:对组合键第一个自然键排序分组

4.8K80
  • woocommerce开发支付网关插件,对接支付通道

    // 但在本教程,我们从简单的支付开始 $this->supports = array( 'products' ); // 所有选项字段的方法 $this->init_form_fields...我们使用WooCommerce的事件延迟表单提交,并将带有卡数据的AJAX请求直接发送到我们的支付处理器,checkout_place_order 如果客户详细信息正常,处理器将返回一个令牌,我们将其添加到下面的表格...' ) ); // 在大多数支付处理程序,必须使用公共密钥来获得一个token wp_localize_script( 'woocommerce_kekc_cn', 'kekc_cn_params'..., array( 'publishableKey' => $this->publishable_key ) ); wp_enqueue_script( 'woocommerce_kekc_cn'...echo wpautop( wp_kses_post( $this->description ) ); } // 我将用echo()的形式,你也可以直接在HTML写 echo ''; // 如果你想让你的自定义支付网关支持这个动作

    24010

    提升网站访问速度的 SQL 查询优化技巧

    让我们深入了解查询的更多信息。 MySQL是你的朋友 MySQL有一个很方便的语句DESCRIBE,它可以输出表结构的信息,比如字段名,数据类型等等。...例如,pm2表((wp_postmeta),告诉我们是Using filesort,因为我们使用了 ORDER BY语句对结果进行了排序。如果我们要对查询结果进行分组,这将会给执行增加开销。...我们可以马上看到,连接wp_woocommerce_software_licences(别名l)的表有严重的问题。...解决 你应该避免这种全部表浏览的查询,因为他使用非索引字段order_id去连接wp_woocommerce_software_licences表和wp_posts表。...类似地,如果一些连接在MySQL减慢了查询速度,那么将查询分解为两个或更多语句并在PHP单独执行它们可能会更快,然后可以在代码收集和过滤结果。

    6K100

    塔秘 | 网站访问速度不够快?快收藏SQL 查询优化技巧

    让我们深入了解查询的更多信息。 把 MySQL 当作朋友 MySQL有一个很方便的语句DESCRIBE,它可以输出表结构的信息,比如字段名,数据类型等等。...例如,pm2表((wp_postmeta),告诉我们是Using filesort,因为我们使用了 ORDER BY语句对结果进行了排序。如果我们要对查询结果进行分组,这将会给执行增加开销。...我们可以马上看到,连接wp_woocommerce_software_licences(别名l)的表有严重的问题。...去连接wp_woocommerce_software_licences表和wp_posts表。...类似地,如果一些连接在MySQL减慢了查询速度,那么将查询分解为两个或更多语句并在PHP单独执行它们可能会更快,然后可以在代码收集和过滤结果。

    4.8K50

    划重点!必备 SQL 查询优化技巧,提升网站访问速度

    让我们深入了解查询的更多信息。 把 MySQL 当作朋友 MySQL有一个很方便的语句DESCRIBE,它可以输出表结构的信息,比如字段名,数据类型等等。...例如,pm2表((wp_postmeta),告诉我们是Using filesort,因为我们使用了 ORDER BY语句对结果进行了排序。如果我们要对查询结果进行分组,这将会给执行增加开销。...我们可以马上看到,连接wp_woocommerce_software_licences(别名l)的表有严重的问题。...去连接wp_woocommerce_software_licences表和wp_posts表。...类似地,如果一些连接在MySQL减慢了查询速度,那么将查询分解为两个或更多语句并在PHP单独执行它们可能会更快,然后可以在代码收集和过滤结果。

    4.8K80

    woocommerce模板制作简易教程

    ,下面就跟着ytkah一起来学习吧   展示型网站主要用到的woocommerce函数就产品列表页和产品详情页,其余默认模板   1、后台安装启用woocommerce插件,复制/wp-content.../plugins/woocommerce/templates/下所有文件到/wp-content/themes/ytkah/woocommerce/(如果没有woocommerce文件夹,新建一个)   ...2、在/wp-content/themes/ytkah/function.php添加add_theme_support函数,代码如下 add_theme_support( 'woocommerce'...);   3、产品详情页模板路径是/wp-content/themes/ytkah/woocommerce/content-single-product.php,产品多图调用请参考这篇文章:woocommerce...里面的外层div/main ②面包屑导航/wp-content/themes/hqt/woocommerce/global/breadcrumb.php ③产品信息/wp-content/themes/

    2.7K20

    WordPress会员管理插件|AffiliateWP v2.6.8 已激活包含所有Pro插件

    这些附加插件可以为该插件添加了更多额外功能。总体而言,AffiliateWP是最佳的、并且是专为WordPress用户精心打造的会员管理插件。...改进:使用wp-cli,可以日期范围列出会员,支出,推荐和访问的功能。 固定:WooCommerce:订单状态为退款应始终将推荐状态更改为已拒绝(如果启用)。...开发:修正在Affiliate_WP_REST :: get_token()传递给affwp_auth_hash()的参数的顺序。...固定:在查看“优惠券”设置选项卡且WooCommerce处于非活动状态时避免发出通知。 以及其他一些小的改进和用户界面更改。...安装AffiliateWP插件 在WordPress管理仪表盘,转到 插件→ 添加新个点击 上传插件单击 “选择文件”,然后选择affiliate-wp.x.x.x.zip文件,单击 立即安装。

    11310

    WPJAM Basic 5.9 详细更新说明

    兼容 WooCommerce 之前后台文章列表开启「支持全面的 AJAX操作」,会让 WooCommerce 的订单和优惠券页面出现一些问题,最近接了一些 WooCommerce 的项目,仔细研究和处理了一下...此外 mu_fields 类型字段支持 readonly 展示。 WPJAM_Fields 新增 get_defaults 方法,通过它可以获取表单字段的默认值。...注意验证码是存储于 Memcached ,如果系统未安装 Memcached,则无效。...优化「文章目录」扩展,首先使用子标题的 ID 来作为锚点,子标题没有 ID,则自动添加 ID,应该会兼容更多情况,然后支持独立设置,开启之后,可以在文章列表页设置: 「简单 SEO」 扩展支持「确保唯一设置...如果当前主题没有 wp_head Hook,也可以通过勾选该选项确保生成摘要和关键字。

    7.2K30

    必备!一文掌握Wordpress插件

    Wordpress是一个非常强大的建站系统,而在我们建站的过程,插件的使用必不可少。...今天,websoft9带你详细了解寻找插件、安装插件的过程,我们还整理了Wordpresstop20的常用插件,供你参考。 插件怎么找? 插件怎么找呢?首先,我们应该明确自己的需求。...名称 类别 用途 付费 or 免费 WooCommerce 电商 将WordPress扩展成电子商务网站 免费 WooCommerce Tab Manager 电商 电商页面Tab扩展 免费 UpdraftPlus...系统管理 网站整体打包与恢复工具 免费 download-monitor 下载管理 下载管理 免费 File Manager 文件管理 在线文件管理工具 免费 Yoast SEO SEO SEO优化建议和页面设置...免费 All in One SEO SEO SEO优化建议和页面设置 免费 Remove Google Fonts 系统管理 屏蔽google字体,提升速度 免费 WP-Optimize 系统管理

    1.2K40

    6款最佳WORDPRESS免费主题模板:GENERATEPRESS位列榜首

    小小的透露下,每周都会不定期更新免费的Wordpress主题模板,各位WP爱好者记得关注哦- - 1.GeneratePress GeneratePress是一款轻量级的主题,100%自适应...而且能与WooCommerce,bbPress无缝对接。总之,GeneratePress像一块完美的空白画布,你可以自由发挥!...主题下载 主题演示 4.Zerif Zerif采用了比较流行的单页面H5风格的设计,而且自带有完整的WooCommerce商城,你可以搭建你的电子商城。...可能很多博主不仅仅是写博客,更多的是分享一些新闻资讯,如果是这样的话,这款主题就非常适合你。首页的内容展示排序全部由你自定义。顺便提醒下,这款主题还有高级版的。...主题下载 主题演示 6.ShopIsle 从主题的名字大概就可以看出来,ShopIsle是一款完美的WooCommerce类型的主题。可能跟上面提到的Zerif有那么一点类似。

    4.7K60

    盘点2020年wordpress常用的50个插件合集-吐血推荐

    7、Contextual Related Posts 选择上下文相关的帖子,在您的网站或Feed显示一组相关的帖子。...UpdraftPlus-备份/恢复 选择UpdraftPlus-备份/恢复,备份和恢复:在本地进行备份,或备份到Amazon S3,Dropbox,Google云端硬盘,机架空间,FTP,WebDAV和电子邮件,自动计划进行备份...30、Wenprise Pinyin Slug Wenprise拼音弹头,自动转换WordPress的中文文章别名,分类项目别名,图片文件名称为汉语拼音。...31、WooCommerce 选择WooCommerce ,一个很漂亮的可以帮您卖任何东西的电商套件。...44、WPOSS(阿里云对象存储) 选择WPOSS(阿里云对象存储),WordPress同步附件内容远程至阿里云OSS对象存储,实现网站数据与静态资源分离,提高网站加载速度。

    5.5K10

    用Jetpack的Site Accelerator为网站CDN加速

    的Site Accelerator站点加速器(前身为 Photon,注意:“Photon”现在是站点加速器的一部分)允许 Jetpack 优化图像并通过他们的全球服务器网络CDN提供图片和静态文件(CSS...该服务会过滤内容,但不会更改数据库的信息。 该服务目前仅适用于文章和页面的图像,以及通过 image_downsize 过滤器筛选出来的特色图片/文章缩图。...2、有没有办法保留 CDN 生成的 HTML 的“宽度”和“高度”属性? 我们删除宽度和高度参数,以防止调整后的图像在与原始图像的尺寸不同时发生倾斜。...局限性 没有缓存失效 – 目前,图像会“永久”缓存,并且静态资产仅适用于您所使用的 WordPress、Jetpack 或 WooCommerce 的公共版本。...这些链接将会以 i0.wp.com、i1.wp.com 或 i2.wp.com 开头。

    10.1K40

    WordPress自定义查询WP_Query使用方法大全

    自定义调用文章在网站建设很常用,wordpress也很人性化,用新建查询new WP_Query就能实现相关功能。WP_Query怎么用呢?...通常在页面中使用 (编辑页面时有一个页面序号的字段) 和附件 ( 插入 / 上传媒体相册对话框的数字), 但是不能对文章类型 'menu_order' 使用数字值 (默认都为 0)....//'meta_value' - 注意'meta_key=keyname' 必须也出现在查询. 注意排序是按照字母表顺序进行的。...(:words),但是数字排序可能会有问题 (:1, 3, 34, 4, 56, 6, etc, 而不是你希望的:1, 3, 4, 6, 34, 56)。...//'meta_value_num' - 根据数字meta值排序 (2.8和以后的版本可用). 同时需要注意'meta_key=keyname' 也要在查询声明。

    4.2K41

    WordPress 文章查询教程6:如何使用排序相关的参数

    在 WordPress ,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...title – 文章标题排序 name – 文章名称排序,即 URL别名。 type – 文章类型排序。 date – 文章发布日期排序。 modified – 文章修改日期排序。...menu_order – 按照页面的顺序排序。常用于页面(排序字段在页面编辑页面的「页面属性」框),也可用于具有不同 menu_order 值的任何文章类型(默认值都是 0)。...meta_value – 按照自定义字段排序,请先确保在查询已经设置了 meta_key,额外要注意,是字母顺序排列的,这对于字符串来说没有问题,但对于数字可以结果不是你预期的,(例如结果是 1、3...'orderby' => 'comment_count' ); $query = new WP_Query( $args ); 获取按照价格自定义字段排序的商品: $args = array(

    1.5K30
    领券