小编Mr.*_* Jo的帖子

如何在 JavaScript 和 NodeJS WebSocket 之间进行 Ping/Pong?

我目前正在开发 NodeJS WebSocket 服务器。为了检测断开的连接,我遵循了这里的指南:

https://github.com/websockets/ws#how-to-detect-and-close-broken-connections

服务器端工作得很好,但客户端却出现问题,因为我找不到 ping 功能。

有谁知道如何在没有库的情况下完成客户端部分?

const WebSocket = require('ws');

function heartbeat() {
  clearTimeout(this.pingTimeout);

  // Use `WebSocket#terminate()`, which immediately destroys the connection,
  // instead of `WebSocket#close()`, which waits for the close timer.
  // Delay should be equal to the interval at which your server
  // sends out pings plus a conservative assumption of the latency.
  this.pingTimeout = setTimeout(() => {
    this.terminate();
  }, 30000 + 1000);
}

const client = new WebSocket('wss://echo.websocket.org/');

client.on('open', heartbeat);
client.on('ping', heartbeat);
client.on('close', function …
Run Code Online (Sandbox Code Playgroud)

javascript node.js

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

如何在六边形的右侧添加彩色阴影?

谢天谢地,我在 SO 上找到了一个六边形,但现在我遇到了问题。六边形可以用任何颜色填充 - 目前是橙色,但我需要用颜色和阴影填充它:

<svg viewBox="0 0 180 100" style="width:180px;height:130px">
  <defs>
    <clipPath id="hexagon_clip">
      <path id="hexagon" d="M38,2 
           L82,2 
           A12,12 0 0,1 94,10 
           L112,44 
           A12,12 0 0,1 112,56
           L94,90       
           A12,12 0 0,1 82,98
           L38,98
           A12,12 0 0,1 26,90
           L8,56
           A12,12 0 0,1 8,44
           L26,10
           A12,12 0 0,1 38,2" />
    </clipPath>
  </defs>
  <use xlink:href="#hexagon" x="0" y="0" stroke="orange" stroke-width="12" fill="transparent" />
</svg>
Run Code Online (Sandbox Code Playgroud)

这是我要重新构建的当前示例:

在此处输入图片说明

所以我的目标是在最后传递一个颜色十六进制代码。这可能吗?

彩色阴影是指每个六边形右侧的较深颜色。抱歉不清楚!

html css svg css-shapes

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

Filter products from a specific custom meta data in Woocommerce shop page

I need to filter the WooCommerce shop page and only want to display products which expects a custom product meta data. This is what I've found in the archive-product.php:

/**
 * Hook: woocommerce_before_shop_loop.
 *
 * @hooked wc_print_notices - 10
 * @hooked woocommerce_result_count - 20
 * @hooked woocommerce_catalog_ordering - 30
 */
do_action( 'woocommerce_before_shop_loop' );
woocommerce_product_loop_start();
if ( wc_get_loop_prop( 'total' ) ) {
    while ( have_posts() ) {
        the_post();
        /**
         * Hook: woocommerce_shop_loop.
         *
         * @hooked WC_Structured_Data::generate_product_data() - 10
         */
        do_action( …
Run Code Online (Sandbox Code Playgroud)

php wordpress product metadata woocommerce

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

在 Woocommerce 的 WP_query 中获取目录中可见的产品

我目前正在尝试获取目录中可见的类别页面中的所有产品。我在这里试过这个,但我没有得到这个查询的产品:

$args = array(
    'post_type'   => 'product',
    'product_cat' => get_queried_object()->slug,
    'meta_query'  => array(
        array(
            'key'     => '_visibility',
            'value'   => array( 'catalog', 'visible' ),
            'compare' => 'IN',
        )
    )
);
$loop = new WP_Query( $args );

var_dump( $loop );
Run Code Online (Sandbox Code Playgroud)

当我删除meta_query可见性部分时,我将获得所有产品,包括隐藏的产品,但我只需要可见的产品。这里有什么问题?

php wordpress product custom-taxonomy woocommerce

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

以编程方式有条件地向 Woocommerce 3 添加折扣

我正在寻找一种在结帐期间以编程方式创建优惠券并在结帐完成后将其删除的方法。这需要基于奖金系统来完成,我检查是否允许客户获得奖金。重要的是,我不想把它作为普通的优惠券,因为客户不应该因为知道代码而附加它。

我只找到了附加优惠券或以编程方式创建优惠券的解决方案。我在一次结账时没有发现任何关于临时优惠券的信息。

同样重要的是,这张优惠券只能与另一张优惠券结合使用,而不能与更多优惠券结合使用。

这是我的代码:

if ( get_discount_points() < 100 ) {
    //Customer has bonus status 1
} elseif ( get_discount_points() < 200 ) {
    //Customer has bonus status 2
} else {
    //Customer has bonus status x
Run Code Online (Sandbox Code Playgroud)

按折扣百分比 }

那么这甚至可能吗?

php wordpress woocommerce

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

WooCommerce 获取端点 url 未正确返回

我目前正在尝试在 WordPress AJAX 调用函数中使用此函数获取端点的链接:

wc_get_endpoint_url( 'einstellungen' )
Run Code Online (Sandbox Code Playgroud)

当我在 WooCommerce 页面中执行此操作时,我得到以下格式的正确链接:

www.page.com/account/einstellungen
Run Code Online (Sandbox Code Playgroud)

在我的 AJAX 函数中,URL 以这种方式返回:

www.page.com/einstellungen
Run Code Online (Sandbox Code Playgroud)

所以看来帐户子页面丢失了。有什么想法吗?

php account wordpress endpoint woocommerce

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

如何添加SVG图标作为选择下拉箭头?

自一个小时以来,我一直在尝试管理我的HTMl选择并将下拉图标替换为SVG,但我没有让它运行。

这是我的代码:

select {
    padding: 15px;
    border-radius: 3px !important;
    height: 50px !important;
    color: #ffffff !important;
    padding-right: 30px !important;
    font-size: 14px !important;
    border-color: blue !important;
    position: relative;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border: none;
    background: blue url("data:image/svg+xml;utf8,<svg height='24' viewBox='0 0 24 24' width='24' height='24' xmlns='http://www.w3.org/2000/svg'><g><path d='m121.3,34.6c-1.6-1.6-4.2-1.6-5.8,0l-51,51.1-51.1-51.1c-1.6-1.6-4.2-1.6-5.8,0-1.6,1.6-1.6,4.2 0,5.8l53.9,53.9c0.8,0.8 1.8,1.2 2.9,1.2 1,0 2.1-0.4 2.9-1.2l53.9-53.9c1.7-1.6 1.7-4.2 0.1-5.8z' fill='#FFFFFF'/></g></svg>") no-repeat !important;
    background-position-x: 100%;
    background-position-y: 5px;
}
Run Code Online (Sandbox Code Playgroud)
<select>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么?

html css svg

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

从 WooCommerce 3 中的订单获取税率

我在购物车中展示我的产品没有任何税款,因为我将它们添加到购物车中的小计中。问题是我无法找到稍后在“我的订单”页面上获取用于订单的税率的方法。所以我正在寻找一种方法来获取订单结账期间使用的税率。费率可能因国家/地区而异。

我所拥有的是:

global $order;

$order->get_the_used_tax_rate_somehow();
Run Code Online (Sandbox Code Playgroud)

php wordpress orders woocommerce tax

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

JavaScript:搜索 URL 参数并将其删除,包括值

我在这里有这个网址:

http://localhost.com/?size=L,M,S&color=Red,Blue,Green
Run Code Online (Sandbox Code Playgroud)

URL 也可以采用以下格式:

http://localhost.com/?color=Red,Blue,Green&size=L,M,S
Run Code Online (Sandbox Code Playgroud)

我现在正在尝试color完全删除参数,包括所有参数以及&第一个示例或?最后一个示例中的 。如果是后一种情况下,我需要改变&size?

我已经尝试过这种方式,但它只是删除了没有任何参数和所有其他东西的参数词:

window.history.pushState(null, null, window.location.search.replace('color', ''));
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到我上面描述的?

javascript

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

如何获取 WooCommerce 中所有可用的税率?

我目前正在构建一个自定义表单。在此表单中,我想显示结帐时已存在的国家/地区选择。

\n\n

这是我的税务设置列表:

\n\n

在此输入图像描述

\n\n

这是我的代码:

\n\n
<select class="country-select">\n    <?php\n    foreach ( WC_Tax::get_rates() as $rate ) {\n        echo \'<option value="\' . $rate->tax_rate . \'">\' . $rate->country . \'</option>\';\n    }\n    ?>\n</select>\n
Run Code Online (Sandbox Code Playgroud)\n\n

我期待以下选项:

\n\n
<option value="19">Deutschland</option>\n<option value="20">\xc3\x96sterreich</option>\n
Run Code Online (Sandbox Code Playgroud)\n\n

问题是我没有从get_rates()函数中得到任何结果。我发现没有函数可以返回正确的汇率。你知道我该如何完成这件事吗?

\n

php wordpress woocommerce

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