小编Sam*_*qui的帖子

woocommerce 商店产品变体

我想在 Wp/Woocommerce /shop/ 页面上显示所有产品及其变体。(/woocommerce/archive-product.php)。我在下面描述的过程是我尝试让它发挥作用的过程。欢迎使用替代方案。

标准是什么:产品 A 和产品 B 在网站上显示。产品 A 有“广告到购物车”按钮。产品 B 有“选择选项”按钮。

我想要的:产品 A 是“简单”产品,在商店页面上显示 产品 B 是“可变”产品,有 2 种组合(黑色/蓝色)。添加到购物车按钮将此变体添加到购物车

我想在商店页面上显示 3 个产品,相当于 1* 产品 A 和 2* 产品 B。

到目前为止,我已经提取了产品是否可变的一些有关该产品变体的基本细节,但我似乎找不到缩略图?

$postId = get_the_ID();
$args = array(
    'post_type'     => 'product_variation',
    'post_status'   => array( 'private', 'publish' ),
    'numberposts'   => -1,
    'orderby'       => 'menu_order',
    'order'         => 'asc',
    'post_parent'   => $postId
);
$variations = get_posts( $args );
//var_dump($variations);

//$p = get_post_meta($postId, '_product_attributes', true);  // return pa_flavor
//var_dump($p);

if(!empty($variations)) {
    foreach …
Run Code Online (Sandbox Code Playgroud)

php wordpress product woocommerce

5
推荐指数
1
解决办法
7260
查看次数

改变可变产品价格的风格woocommerce

以下代码对于单个产品正确运行,但是我想将此代码用于几种产品的多种变体。

实际上,此代码将销售价格与销售价格开始之前的原始价格相加。

我正在计划销售,我想同时显示销售价格和原始的预售价格,以便客户看到折扣可以节省多少。

function cw_change_product_price_display( $price_html ) {
    global $product;
    global  $woocommerce;
    if ( $product->is_on_sale() ) {
        return $price_html;
    } elseif($product->get_sale_price()){
        $price =wc_price($product->get_sale_price());
        return $price_html . $price;
    } else {
        return $price_html;
    }
}
add_filter( 'woocommerce_get_price_html', 'cw_change_product_price_display' );
Run Code Online (Sandbox Code Playgroud)

wordpress woocommerce hook-woocommerce

5
推荐指数
0
解决办法
347
查看次数

无法在“CanvasRenderingContext2D”上执行“drawImage”:提供的值不是“类型”

我已经为我的游戏循环实现了 rAF(requestAnimationFrame) 设置:

draw: function (x, y) {
    setTimeout(function () {
        requestAnimationFrame(function() {
          Player.draw(150, 150);
        });

        //drawing code: worked perfectly with setInterval

    }, 1000 / 60);
},  
Run Code Online (Sandbox Code Playgroud)

它在一个Player对象中,在一个draw函数中。我打电话:

Player.draw(Player.x, Player.y);
Run Code Online (Sandbox Code Playgroud)

在代码的底部。

从我在类似问题上看到的情况来看,在评估之前需要声明图像。我已经使用立即调用的函数在顶部加载了图像:

var images = [];

x = 0;

(function() {
    for (let i = 0; i < 20; i++) {
        images[i] = new Image();
        images[i].src = ('../webgame/assets/images/survivor-idle_shotgun_' + i + '.png');
    };
})(); // This worked perfectly with setInterval too
Run Code Online (Sandbox Code Playgroud)

但是我收到这个错误:

未捕获的类型错误:无法在“CanvasRenderingContext2D”上执行“drawImage”:提供的值不是类型“(CSSImageValue或HTMLImageElement或SVGImageElement或HTMLVideoElement或HTMLCanvasElement或ImageBitmap或OffscreenCanvas)”

它指向这行代码:

ctx.drawImage(images[this.spriteCostumeCount], this.x, …
Run Code Online (Sandbox Code Playgroud)

javascript

5
推荐指数
1
解决办法
3万
查看次数

XML文档的getElementById,Mozilla扩展

在Mozilla中使用DOMParser方法从XML字符串解析DOM上是否支持document.getElementById方法?我正在创建一个mozilla扩展,它读取xmlfile并使用DOM Parser将xml转换为DOM元素,并尝试通过Id获取元素.方法getElementsByTagName有效,但不是getElementById.它总是返回null.

function (xmlString) {
    var parser = new DOMParser();
    var doc = parser.parseFromString(xmlString, "text/xml"); 
    var aNodes = doc.getElementsByTagName("nodeTag");
    for(var i=0; i<aNodes.length; ++i) {
        var id = aNodes[i].getAttribute('id');
        var resultNode = doc.getElementById(id);
        alert(id);
        alert(resultNode);
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试了上面的代码.alert(id)返回正确的id,其中alert(resultNode)每次都返回null.

javascript xml xpcom firefox-addon xml-parsing

3
推荐指数
1
解决办法
7060
查看次数

Next.js _app 和 _document 使用?

我对 next.js 完全陌生,我需要你的帮助来解决一些我认为非常基本的问题,但我找不到我的错误或解释,我在互联网上找不到任何关于它的信息,所以我在这里:

当我在 pages 文件夹中创建文件时,一切正常(我的意思是 pages 文件夹中的每个文件都可以,除了_app.js_document.js),我可以访问 URL,但我想在将来使用上下文、布局或身份验证,我需要使用在_app_document覆盖很酷的事情,但我能写什么,我想它,看来我_app.js还是_document.js仅仅是没用的,从来不叫或我不知道,但他们从来没有工作。

我尝试了 2 个项目,这是我根据下一个文档所做的:首先, npx create-next-app 创建项目,然后_app.js在 pages 文件夹中添加一个example 并添加:

import React from 'react'
import App from 'next/app'
import Nav from '../components/nav'

class MyApp extends App {
  // Only uncomment this method if you have blocking data requirements for
  // every single page in your application. This disables the ability to
  // perform automatic static optimization, causing every …
Run Code Online (Sandbox Code Playgroud)

next.js

3
推荐指数
1
解决办法
3493
查看次数

为什么 JavaScript 中 array.includes 比 set.has 快一个数量级?

嗯,我是在 C++ 环境下长大的,所以我总是很清楚什么算法适合什么。因此,当我注意到应用程序在手机上开始表现迟缓时,我立即开始研究数据结构及其表示方式。

我注意到一个非常奇怪的效果Array.includes是比 快一个数量级Set.has。尽管Set.has查找优化的潜力更大:这是使用集合的整个想法。

我的初始化代码是(此代码超出了测试时间):

function shuffle(a) {
    for (let i = a.length - 1; i > 0; i--) {
        const j = Math.floor(Math.random() * (i + 1));
        [a[i], a[j]] = [a[j], a[i]];
    }
}

const arr = []
for (let i = 0; i < 1000; i+=1) {
    arr.push(i);
};

shuffle(arr);
const prebuildset=new Set(arr);
Run Code Online (Sandbox Code Playgroud)

测试是:

(new Set(arr)).has(-1); //20.0 kOps/s
arr.includes(-1); //632 kOps/s
(new Set(arr)).has(0); //20.0 kOps/s
arr.includes(0); //720 kOps/s
prebuildset.has(-1); //76.7 kOps/s …
Run Code Online (Sandbox Code Playgroud)

javascript lookup performance

1
推荐指数
1
解决办法
825
查看次数

选择数组中的项目 - Javascript - 使用过滤器方法

今天有人问了一个关于找出从 I 到数组末尾的数组中选择某些元素的问题,这让我想知道如何使用该filter方法来做到这一点。

有人提供的解决方案之一是使用slice,我知道您可以从一个索引到另一个索引进行选择,但是您将如何实现该filter方法来做同样的事情?

例子

let arr = ['bug', 'cat', 'dog', 'flea', 'bat', 'hat', 'rat'];

let newArr = arr.filter(element => element >= element.indexOf(3));
    
console.log(newArr);
Run Code Online (Sandbox Code Playgroud)

这就是我想出的,它不起作用,但想法是选择索引为 3 或更大的所有字符串并将它们返回到另一个数组中。

javascript arrays filter indexof

0
推荐指数
1
解决办法
1729
查看次数