WooCommerce - 我在哪里可以编辑由钩子生成的HTML?

7 浏览
0 Comments

WooCommerce - 我在哪里可以编辑由钩子生成的HTML?

我对WooCommerce还不太熟悉。不过,我想创建自己的主题,所以我按照指南将核心模板文件复制到/mywordpresstheme/woocommerce/中。\n一切都很顺利,我也成功地编辑了模板。\n然而,WooCommerce中的钩子和动作的工作方式让我感到困惑,我无法找出某些生成的HTML的来源。\n例如,在content-product.php中,有一个获取图像的钩子:\n


\n但这是什么?它是从哪里来的??在动作名称中是否有任何线索,可以让我找到生成此HTML的位置以进行编辑?\n我已经阅读了WooCommerce关于“钩子和过滤器”的文章,但它没有解释如何在每个特定情况下更改这些内容的位置或方式。\n非常感谢任何帮助。\n我对这个系统还很陌生,我相信我一定是忽视了一些非常明显的东西。\n谢谢,\nMikey

0
0 Comments

问题的原因是需要在WooCommerce的产品目录缩略图上使用单独的图像,并且这些图像需要是特定的、独特的、300x300像素的图像,只用于目录缩略图而不出现在产品页面上。解决方法是使用代码在WooCommerce中编辑生成的HTML。

具体的解决方法是:

1. 创建一个名为"wc_custom_thumbs"的文件夹,放置单独的目录缩略图图像。

2. 使用以下代码替换默认的产品缩略图显示:

add_action( 'woocommerce_init', 'cm_display_custom_shop_image');
function cm_display_custom_shop_image()
{
  remove_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_thumbnail', 10 );
  function cm_replace_product_thumbnail()
  {
    global $product;
    $prod_sku = $product->get_sku();
    $uploads = wp_get_upload_dir();
    if ( $uploads && false === $uploads['error'] )
    {
      $uploads_url = $uploads['baseurl'];
      $uploads_path = $uploads['basedir'];
      $custom_shop_thumb_filename = $uploads_path . '/wc_custom_thumbs/' . $prod_sku . '_shopthumb.jpg';
      if (file_exists($custom_shop_thumb_filename))
      {
        echo "";
      }
      else
      {
        echo woocommerce_get_product_thumbnail();      
      }
    }
    else
    {
      echo woocommerce_get_product_thumbnail();
    }
  }
  add_action( 'woocommerce_before_shop_loop_item_title', 'cm_replace_product_thumbnail', 10 );
}

通过以上方法,可以根据产品的SKU查找并显示自定义的目录缩略图,如果找不到自定义图像,则会显示默认的产品缩略图。这样可以逐步创建自定义的目录缩略图。

0
0 Comments

WooCommerce - 如何编辑由hooks生成的HTML?

问题原因:用户想要编辑由hooks生成的HTML,但不知道从哪里开始。

解决方法:通过了解action hook的工作原理和相关函数的命名或注释,可以找到生成HTML的函数所在的文件。可以使用Sublime Text编辑器等工具来搜索整个文件夹以查找特定函数的位置。对于可插入函数,可以在主题的functions.php文件中重新定义同名函数,以修改生成的HTML内容。所有的修改都可以在主题的functions.php文件中进行,不需要针对每个情况都进行单独的修改。此外,可以参考相关的WordPress hooks和filters的教程来更好地理解和应用。

在使用WooCommerce时,有时需要修改由hooks生成的HTML内容。通过了解action hook的工作原理和相关函数的位置,以及在主题的functions.php文件中重新定义同名函数的方法,可以实现对HTML的修改。同时,可以参考相关的教程来更好地理解和应用WordPress的hooks和filters。

0