0

0

WooCommerce:在商品列表和归档页产品价格下方添加自定义信息

碧海醫心

碧海醫心

发布时间:2025-07-19 13:12:13

|

421人浏览过

|

来源于php中文网

原创

WooCommerce:在商品列表和归档页产品价格下方添加自定义信息

本教程详细指导如何在WooCommerce商店和归档页面上的产品价格下方插入自定义PHP内容,例如作者电话号码。通过利用WordPress的functions.php文件和WooCommerce提供的特定动作钩子woocommerce_after_shop_loop_item,开发者可以灵活地在商品循环中添加动态信息,从而增强页面展示效果。

概述

许多woocommerce商店所有者或开发者都希望在商店和归档页面上,而非仅在单个产品页面,直接在产品价格下方显示额外的动态信息。这可能包括卖家联系方式、自定义标签或特定的产品属性。直接修改主题模板文件既繁琐又容易在主题更新时被覆盖。一个更健壮的解决方案是利用wordpress和woocommerce提供的动作钩子(action hooks)。

理解WooCommerce动作钩子

WooCommerce,与WordPress核心类似,提供了一套丰富的动作和过滤钩子(Action and Filter Hooks)。这些钩子允许开发者在不直接修改核心插件文件或主题模板的情况下,注入自定义代码或修改默认行为。对于在主商店循环中(包括商店页面和产品归档页面)每个产品项 之后 添加内容的需求,woocommerce_after_shop_loop_item 钩子尤其适用。此钩子在每个产品项(包括图片、标题、价格、添加到购物车按钮等)渲染完成后触发。

实现步骤

要实现此功能,你需要编辑主题的 functions.php 文件。强烈建议使用子主题(Child Theme)来添加任何自定义代码,以防止主题更新覆盖你的修改。

  1. 访问 functions.php 文件:

    • 方法一(推荐): 通过FTP客户端或主机控制面板(如cPanel)的文件管理器,导航到你的WordPress安装目录,然后进入 wp-content/themes/你的子主题名称/ 目录,找到 functions.php 文件。
    • 方法二: 登录WordPress后台,前往“外观” -> “主题文件编辑器”。在右侧选择你的子主题,然后找到 functions.php 文件。
  2. 添加自定义代码: 将以下PHP代码添加到 functions.php 文件的末尾(在 ?> 标签之前,如果存在的话,或者直接在文件末尾):

    /**
     * 在WooCommerce商品列表和归档页产品价格下方添加自定义内容
     *
     * @return void
     */
    function custom_content_after_product_price() {
        // 在这里放置你希望显示的内容。
        // 示例:显示当前产品作者的“电话”元数据。
        // 可以添加一个包装 div 便于样式化。
        echo '
    '; the_author_meta( 'phone' ); echo '
    '; } add_action( 'woocommerce_after_shop_loop_item', 'custom_content_after_product_price', 10 );

代码解析

  • function custom_content_after_product_price(): 这是一个自定义的PHP函数,其中包含了你希望在每个产品项下方显示的所有逻辑。
  • echo '
    '; the_author_meta( 'phone' ); echo '
    ';: 这行代码是实际输出内容的部分。在这个示例中,它输出了一个带有CSS类 product-author-phone 的 div 标签,并在其中调用了 the_author_meta('phone') 函数。the_author_meta() 是一个WordPress函数,用于显示当前文章或产品作者的指定元数据(例如,电话号码)。你可以根据实际需求替换或扩展这部分内容。
  • add_action( 'woocommerce_after_shop_loop_item', 'custom_content_after_product_price', 10 );: 这是实现功能的核心部分。它将你的自定义函数 custom_content_after_product_price 挂载到 woocommerce_after_shop_loop_item 动作钩子上。
    • woocommerce_after_shop_loop_item: 这是WooCommerce在每个产品循环项渲染完成后触发的钩子。
    • custom_content_after_product_price: 你定义的函数名。
    • 10: 这是优先级参数。数字越小,函数执行得越早。默认值为10。

自定义与注意事项

  • 内容定制: 你可以将 the_author_meta('phone') 替换为任何你需要的PHP代码、HTML标记、短代码(使用 do_shortcode() 函数)或其他动态内容。例如,如果你想显示一个自定义字段,可以使用 echo get_post_meta( get_the_ID(), 'your_custom_field_key', true );。

  • CSS样式: 添加的自定义内容可能需要通过CSS进行样式调整,以确保其与主题设计协调一致。例如,你可以在子主题的 style.css 文件中添加类似以下规则:

    启昌企业网站管理系统1.3
    启昌企业网站管理系统1.3

    注意:请将此程序放在网站根目录下运行。若没有IIS,请直接运行根目录下的 测试.exe 进行本地测试。 基本功能表基本设置:后台可修改联系方式,网站信息。管 理 员:可新增管理员。自定义导航:新增修改导航菜单、菜单排序等。单页管理:单页面新增关键词和描述等。新闻增加:新闻可设置标题、新闻分类、添加内容等。新闻管理:可分类查看新闻、修改新闻、删除新闻等。产品管理:产品增加二级分类,产品略缩图、产品

    下载
    .product-author-phone {
        font-size: 0.9em;
        color: #666;
        margin-top: 5px;
        text-align: center; /* 如果需要居中显示 */
    }
  • 钩子选择: 如果 woocommerce_after_shop_loop_item 的位置不完全符合你的需求,WooCommerce还提供了许多其他钩子,例如:

    • woocommerce_before_shop_loop_item_title:在产品标题之前。
    • woocommerce_after_shop_loop_item_title:在产品标题之后。
    • woocommerce_after_shop_loop_item_price:在产品价格之后(可能需要更精细的优先级调整以避免与其他元素重叠)。 选择最适合你显示位置的钩子。
  • 错误处理: 在修改 functions.php 文件之前务必备份。如果代码中存在语法错误,可能会导致网站白屏(PHP解析错误)。如果发生这种情况,通过FTP或主机控制面板的文件管理器删除或修正错误代码即可恢复。

  • 性能考量: 确保你的自定义函数执行效率高,避免在循环中进行大量数据库查询或其他耗时操作,以防影响网站性能。

总结

通过利用WooCommerce提供的强大动作钩子机制,我们可以非常灵活且非侵入性地在商店和归档页面上产品价格下方添加自定义动态内容。这种方法不仅易于实现和维护,还能确保你的修改在主题更新时保持不变,是扩展WooCommerce功能的标准实践。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
class在c语言中的意思
class在c语言中的意思

在C语言中,"class" 是一个关键字,用于定义一个类。想了解更多class的相关内容,可以阅读本专题下面的文章。

469

2024.01.03

python中class的含义
python中class的含义

本专题整合了python中class的相关内容,阅读专题下面的文章了解更多详细内容。

15

2025.12.06

function是什么
function是什么

function是函数的意思,是一段具有特定功能的可重复使用的代码块,是程序的基本组成单元之一,可以接受输入参数,执行特定的操作,并返回结果。本专题为大家提供function是什么的相关的文章、下载、课程内容,供大家免费下载体验。

483

2023.08.04

js函数function用法
js函数function用法

js函数function用法有:1、声明函数;2、调用函数;3、函数参数;4、函数返回值;5、匿名函数;6、函数作为参数;7、函数作用域;8、递归函数。本专题提供js函数function用法的相关文章内容,大家可以免费阅读。

163

2023.10.07

数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

359

2023.06.29

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2082

2023.08.14

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

349

2023.08.31

MySQL恢复数据库
MySQL恢复数据库

MySQL恢复数据库的方法有使用物理备份恢复、使用逻辑备份恢复、使用二进制日志恢复和使用数据库复制进行恢复等。本专题为大家提供MySQL数据库相关的文章、下载、课程内容,供大家免费下载体验。

256

2023.09.05

C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

8

2026.01.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.8万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.1万人学习

CSS教程
CSS教程

共754课时 | 25.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号