在页面上显示 Woocommerce 通知

2023-12-06

我创建了一个功能来显示一些带有短代码的产品,但我遇到的问题是错误消息没有显示在该页面上。例如,如果某些字段是必需的,那么它仅显示在购物车/结账页面上。

这是我的一些代码:

while ( $query->have_posts() ) : $query->the_post();
global $product;
?>
<div style="border-bottom:thin dashed black;margin-bottom:15px;">
<h2><?php the_title(); ?>  <span><?php echo $product->get_price_html();?></span></h2>
<p><?php the_excerpt();?></p>
<?php global $product;
if( $product->is_type( 'simple' ) ){
woocommerce_simple_add_to_cart();
}

我需要添加什么才能在使用短代码的页面上显示错误消息?


你需要使用专用的wc_print_notices()函数,显示 Woocommerce 通知。为此目的,此函数在 woocommerce 模板中被挂钩或使用。

要使 WooCommerce 通知在您的短代码页面中激活,您需要在您的短代码中添加以下内容wc_print_notices()功能。

我在下面复制了与您类似的简码(用于测试目的)woocommerce 通知的打印位置:

if( !function_exists('custom_my_products') ) {
    function custom_my_products( $atts ) {
        // Shortcode Attributes
        $atts = shortcode_atts( array( 'ppp' => '12', ), $atts, 'my_products' );

        ob_start();
        
        // HERE we print the notices
        wc_print_notices();

        $query = new WP_Query( array(
            'post_type'      => 'product',
            'posts_per_page' => $atts['ppp'],
        ) );

        if ( $query->have_posts() ) :
            while ( $query->have_posts() ) :
                $query->the_post();
                global $product;
            ?>
                <div style="border-bottom:thin dashed black;margin-bottom:15px;">
                <h2><?php the_title(); ?>  <span><?php echo $product->get_price_html();?></span></h2>
                <p><?php the_excerpt();?></p>
            <?php
                if( $product->is_type( 'simple' ) )
                    woocommerce_simple_add_to_cart();

            endwhile;
        endif;
        woocommerce_reset_loop();
        wp_reset_postdata();

        return '<div class="my-products">' . ob_get_clean() . '</div>';
    }
    add_shortcode( 'my_products', 'custom_my_products' );
}

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

这已经过测试并且适用于 WooCommerce 3+

Notes:

  • 在您的代码中您使用了 2 次global $product;
  • 请记住,在短代码中,您永远不会回显或打印任何内容,但您return一些输出...
  • 不要忘记在最后重置循环和查询。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在页面上显示 Woocommerce 通知 的相关文章

  • Readfile 从大文件中读取 0 字节?

    我正在尝试通过以下方式发送一个大文件readfile 但是 没有任何内容发送到浏览器 并且readfile 回报0 not false 我尝试发送的文件大小为 4GiB 并且可由 PHP 读取 我正在设置set time limit 0 以
  • Smarty 如果 URL 包含

    使用 Smarty 标签我想确定 URL 是否包含单词 例如 if smarty get page contains product php 我知道 contains 不存在 但是我怎样才能轻松地编写类似的东西来实现上述代码呢 所有 PHP
  • 选择一组数字以达到最小总数的算法

    给定 一组数字n 1 n 2 n 3 n x 还有一个数字M 我想找到最好的组合 n a n b n c n gt M 该组合应达到达到或超过 M 所需的最小值 没有其他组合可以提供更好的结果 将在 PHP 中执行此操作 因此可以使用 PH
  • 编辑 HTACCESS 文件以防止直接访问特定文件夹中的特定文件

    我试图阻止直接访问子文件夹中的特定文件 我意识到这个论坛上有很多描述类似问题的主题 但是 我的似乎有点尴尬 由于我已经存在 HTACCESS 文件 这是文件的文件路径 www example com PRINCIPAL PROJECTS m
  • 如何在HTML中的PHP中注释掉HTML和PHP?

    这是我想注释掉的一行代码 h1 class post title a href title a h1 一种流行的注释方法是分别注释 html 和 php 有一个更好的方法吗
  • 通过 URL 指定控制器类与为每个控制器编写一个脚本相比,有何优缺点?

    今年夏天我安装了两个不同的 PHP 系统 每个都使用两种不同的方法 方法 1 每个任务一个 PHP 文件 该方法需要一个PHP为每个主要任务创建文件 例如 我的上传脚本可以通过http www domain com upload php O
  • 检查 PHP 中的字符串长度

    我有一个长度为 141 个字符的字符串 使用下面的代码我有一个if如果字符串大于或小于 140 则语句返回一条消息 libxml use internal errors TRUE dom new DOMDocument dom gt loa
  • 在 WooCommerce 中添加到购物车之前清空购物车

    我正在使用 WP 作业管理器和 Woo Subscriptions Now 最初 我选择了一个套餐 Woo Subscription 然后我添加了所有细节 但没有提交 回到网站 所以要再次购买 我需要选择一个套餐 于是我选择了套餐并填写了详
  • Mysqli 更新抛出 Call to a member function bind_param() 错误[重复]

    这个问题在这里已经有答案了 我有一个 70 80 字段表单 需要插入到表中 因此我首先根据表单中的输入名称在数据库中创建了一个表 而不是手动创建一个巨大的插入语句 这是我使用的代码创建 更改表 function createTable ar
  • PHP 扩展开发入门 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 请推荐有关 PHP 低 级 modules 编程接口的帮助文章或教程 搜索我的书签 我发现的唯一链接是
  • Facebook PHP SDK - 如何获取访问令牌?

    我正在尝试从我的应用程序在用户的 Facebook 墙上发帖 用户授予应用程序在他的墙上发布的权限 并且我在数据库中有用户ID 我需要自动发送帖子 而无需用户再次登录 我的代码是 try require once dirname FILE
  • PHP print_r() 中 _r 的含义是什么?

    我见过这个答案 https stackoverflow com questions 13103410 what does r suffix mean就这样 但我不确定它对于 PHP 是否相同 如果是 可重入的含义是什么 From PHP n
  • Ebay api GetSellerList,解析响应 XML

    我正在使用 eBay 交易 api 来获取当前列出的卖家股票 我正在使用 GetSellerList 调用 我在解析 xml 时遇到问题 然后将其插入到网站商店中 这是 xml 请求
  • Codeigniter - 出现 404 Not Found 错误

    我们在 godaddy 有两个托管套餐 我们的实时网站使用以下 htaccess 文件运行良好 无需在 url 中使用 index php 即可访问网站 RewriteEngine On RewriteCond REQUEST FILENA
  • 我可以在 PHP 会话变量中安全地存储用户名和密码吗?

    我想在 REST api 之上制作一个轻量级的 web 应用程序 用户只需进行一次身份验证 从那时起 所有针对 web api 的请求都希望通过以某种方式保持用户名和密码有效来完成 我已经做了一个工作原型我在哪里将用户名和密码存储在会话变量
  • 如何从 Laravel 执行存储过程

    我需要在表单提交数据后执行存储过程 我让存储过程按照我想要的方式工作 并且我的表单正常工作 我只是不知道从 laravel 5 执行 sp 的语句 它应该是这样的 执行 my stored procedure 但我似乎在网上找不到类似的东西
  • 反向引用在 PHP 中不起作用

    最近我一直在研究 更多的是在实践中说实话 正则表达式 我注意到他的力量 我提出的这个要求 link https stackoverflow com questions 30380397 take the text up to a speci
  • Stream_context_set_params 不适用于 ssh2.sftp 包装器

    我想使用类似的功能here http www php net manual en function stream notification callback php 请检查以下代码 function notify notification
  • 使用 PHP 将 latin1_swedish_ci 转换为 utf8

    我有一个数据库 里面充满了类似的值 Dhaka 应该是 Dhaka 因为我在创建数据库时没有指定排序规则 现在我想修复它 我无法从最初获取数据的地方再次获取数据 所以我在想是否可以在 php 脚本中获取数据并将其转换为正确的字符 我已将数据
  • 使用 crypt() 加密

    我目前正在做一个非常安全的登录系统 但我是 crypt 函数的新手 需要一些快速帮助 我在注册过程中使用 crypt 加密密码字符串并将其保存到数据库中 但是 我如何在登录过程中解密密钥 或者我应该怎么做 或者是否可以对提交的密码字符串进行

随机推荐

  • 如何将 JSON 数据加载到 Highchart?

    my Json看起来像这样 1332879360000 0 300 0 1332797760000 0 353 0 1332799320000 0 358 0 1332879780000 0 302 0 1332800160000 0 35
  • 使用 Mockito 通过反射来模拟方法

    我们使用 Mock Factory 为我们的开发人员提供关于模拟功能的最大可能舒适度 同时减少对 mockito 本身的了解 为此 我们的 Mock Factory 提供了一种方法来创建模拟 给定类名 方法名 通过正则表达式 和给定的返回值
  • 如何制作一堆可检测手势的自定义绘制形状

    我设法用以下方法制作了这 3 个奇怪的形状CustomPainter the 滑动按钮形状 平移按钮形状 and 倾斜按钮形状分别 我想让它们可检测到 所以我添加了GestureDetector但它不能正常工作 这就是我堆叠自定义绘制形状的
  • 如何使用 Apache POI 提取 docx(Word 2007 以上)

    你好 我正在使用 Apache POI 3 6 我已经创建了一些代码 XWPFDocument doc new XWPFDocument new FileInputStream file wordxExtractor new XWPFWor
  • 为什么 Google 地图在我的 Android 应用程序中显示空白屏幕?

    我的 Android 应用程序中有 Google 地图 我通过选择新的 Google 地图活动并将密钥粘贴到 Android Studio 中来添加它 它在我的 Android 手机 Lenovo K5 Note 中运行良好 但当我将项目复
  • 如何将分号附加到 ArrayList 中的每个元素[重复]

    这个问题在这里已经有答案了 我目前正在尝试在 ArrayList 中每个元素的末尾附加一个分号 代码 ArrayList
  • 如何在flutter中执行VoidCallback

    我正在尝试测试VoidCallback所以我创建了主文件 它有一个从小部件中的平面按钮调用的函数 该函数位于一个单独的文件中 但不起作用 主程序 dart import package flutter material dart impor
  • 为应用程序配置 SSL Heroku HTTPS

    您好 我目前正在阅读下面的教程 将 ssl 添加到我的 heroku 应用程序中 https gist github com shripadk 552554 所以今天 我买了一个域名 将 cname 设置为指向我的 heroku 应用程序
  • 如何使用 Jakarta POI 读取 ms word 文件的内容

    我已包含 jakarta poi 1 5 1 final 20020615 jar 文件以从 ms word 读取内容 我无法做到这一点 任何人都可以帮助我吗 Here is 快速指南
  • 在 R Shiny 中触发反应流的键盘快捷键?

    是否有可能 比如说 F7 or Q在 Shiny 应用程序 在 Windows 中 中触发反应流 这个问题提供了用于通过键盘输入交替选项卡的代码 但我对启动反应流感兴趣 例如 每次用户按下时都会 触发 按钮Q在键盘中 这是一个基于的示例这个
  • 无法抑制弃用警告

    在我的 Django 应用程序中 当我导入第三方库时 我在控制台中收到此警告 imp 模块已被弃用 取而代之的是 importlib 有关其他用途 请参阅模块的文档 但是 如果我在 Python shell 中进行导入 那么一切都可以 我想
  • 如何制作一个“真正透明”的光标窗口,最好是在纯 QML 上? (Qt 5.7)

    真正的透明 解释 图片 76kb 在那张图片上应用窗口有一个视觉上透明的层 但实际上光标并没有走到后面的窗口应用窗口 在本例中为 QT Creator 如果添加 取消注释 Qt WindowTransparentForInput 标志 则可
  • 如何使用javascript访问gridview单元格值

    我有一个 javascript 函数 我正在尝试验证 gridview 的输入 我的问题是我无法获取单元格的值 这是我所拥有的 function fcnCheck var grid document getElementById var c
  • 如何在 Java 中调用 WSDL URL 上的 Web 服务?

    我需要在我正在构建的 java Web 应用程序中调用一些 Web 服务方法 例如 每次用户注册时 我想致电newUser通过 Java 处理 WSDL url 的方法 我需要通过请求传递一些参数 是否有任何内置的 Java 类或任何公开可
  • 合并字典的字典和总和值

    我正在寻找一种将多个字典相互合并的方法 其中也包含嵌套字典 嵌套字典的数量不是静态的而是动态的 最后 最终字典应包含所有字典的字典及其值的总和 COUNTRY1 a X 10 Y 18 Z 17 b AA AAx 45 AAy 22 BB
  • 通过相机进行形状识别的 iPhone 库

    我希望这属于 编程问题 类别 我在谷歌上搜索 计算机视觉 这个主题 并阅读了这里关于该主题的每一篇文章 感到头晕目眩 但我变得更加困惑 而不是开明 我在一张纸上打印了 6 个抽象形状 我想让 iPhone 上的摄像头识别这些形状 从不同角度
  • GCE 实例在没有详细信息或澄清的情况下终止

    昨晚我们收到了一个奇怪的错误事件 其中一个 GCE VM 实例因不明原因被系统终止 有什么方法可以确定正在运行的实例终止的原因吗 来自 GCE 服务的 REST 响应的部分 kind compute operation operationT
  • Google Apps 脚本批量执行时间意外

    以下代码会导致空白表 可能是由于 clear 最后执行 即使它列在最前面 const ss SpreadsheetApp getActiveSpreadsheet var contractSheet ss getSheetByName sh
  • IISExpress 从远程计算机返回 503 错误

    我正在尝试使用本地网络上的其他一些计算机 设备来测试在本地 IISExpress 实例中运行的网站 我运行的是Win7专业版 当我第一次尝试从本地网段上的另一台计算机浏览到我的计算机时 收到 400 错误 主机名无效 据我了解 我需要使用提
  • 在页面上显示 Woocommerce 通知

    我创建了一个功能来显示一些带有短代码的产品 但我遇到的问题是错误消息没有显示在该页面上 例如 如果某些字段是必需的 那么它仅显示在购物车 结账页面上 这是我的一些代码 while query gt have posts query gt t