Woocommerce将产品可见性与星期几相关联

时间:2014-08-11 17:39:40

标签: wordpress variables woocommerce visibility

是否有人知道是否可以链接产品' Woocommerce对一周中特定日期的可见度?即星期一,产品1-4可见,星期二,产品5-10等,这将使餐厅菜单只显示每周重复的每日选项?

非常感谢任何帮助,谢谢

1 个答案:

答案 0 :(得分:2)

代码

  1. 将WooCommerce模板文件content-product.php复制到主题的woocommerce目录
  2. 更改检查可见性的区域

    FROM

    // Ensure visibility
    if ( ! $product || ! $product->is_visible() )
    return;

    // Ensure visibility
    // starting custom content
    $product_visible = check_for_product_allowed_days( $product );
    if ( ! $product || ! $product->is_visible() || ! $product_visible )
    return;
  3. 将以下内容添加到functions.php文件

  4. function check_for_product_allowed_days ( $product ) {
    
      $product_id  =  $product->id;
      $product_terms  =  get_the_terms ( $product_id, 'product_tag' );
      // remove the strtolower if you capitalized your tag names
      $current_day  =  strtolower ( date ( 'l' ) );
    
      // $all_days value should be the name of the tag
      // that you want to be able to be ordered on all days
      $all_days  =  'all days';
    
      foreach ( $product_terms as $tag ) {
        if ( strtolower ( $tag->name )  ==  $current_day || $tag->name  ==  $all_days ) {
          $product_is_visible  =  true;
          break;
        }
        else {
          $product_is_visible  =  false;
        }
      }
      return $product_is_visible;
    }
    

    WooCommerce管理员设置

    1. 为所有产品添加标签

      • “所有日子”或“所有日子”(只需确保将$all_days以上的值更改为您设定的值 - 星期一,星期二,星期三
    2. 的思考

      我找不到一种方法来摆脱WooCommerce的循环并预先设置产品可见性,因此需要进行模板更新

      结果

      结果未更新以与此代码匹配,但在此示例中显示的产品数量多于显示的数量。

      example of code

      Solution Crossposted