小编Rob*_*wen的帖子

在Woocommerce 3的WC_Product_Query中使用自定义元数据

我曾经使用标准的wordpress WP_Query来基于元数据获取woocommerce产品。我的产品是曲目,并且有许多meta列(例如类型,乐器,情绪等)。使用WP_Query,我可以根据来自表单的用户输入创建meta_query,该表单搜索满足meta要求的产品。所有这些都很好。

现在,我想使用wp_get_products而不是WP_Query,因为它是获取产品的新方法,并且应该比旧方法更具前瞻性。但是,我似乎无法弄清楚如何将meta_query传递给该函数。在github上宣布wc_get_products将支持2.8版本的meta。我可以在以下链接上找到唯一的信息:https : //github.com/woocommerce/woocommerce/wiki/wc_get_products-and-WC_Product_Query(最后一段)。

我尝试将meta_query传递为一个数组数组,每个数组包含3个键,值和比较键值对,就像WP_Query中一样。我还尝试将meta添加为Meta: meta-field-name,这是实际字段的名称,只是名称本身没有'meta'前缀,以及其他一些名称。这些方法均无效。谁能告诉我这个“自定义参数支持”是否仅引用元字段以外的自定义参数,还是我做错了?

php wordpress product metadata woocommerce

6
推荐指数
2
解决办法
2829
查看次数

opencv 在写入 jpeg 时会降低红色亮度

我在 python 中遇到了一个关于 opencv 的有趣问题。我注意到当我使用 opencv 加载图像并立即保存它而不做任何进一步处理时,红色通道中的亮度显着降低。

  • 我知道 jpeg 是一种有损格式,如果我多次读/写,我应该期望质量会下降。但是,如果我在预览 (mac) 中打开图像并从那里导出,即使导出到尽可能低的质量,我也看不到任何区别。如果我使用 openCV 来做完全相同的事情,红色通道的差异是巨大的(由于压缩,远远超过您的预期)。
  • 我尝试更改所有标志(imwrite_jpeg_quality、imwrite_jpeg_luma_quality、imread_anycolor、imread_unchanged 等)。我找不到任何可以防止这种效果的组合。
  • 为了测试它是否只是红色通道,我用一张青苹果的图片(没有区别)和一张橙色的图片(肉眼可以看到红色减少)来尝试这个。为了确保它与图像文件本身无关(损坏?),我还截取了橙色的截图,将其导出为新的 jpeg 文件,并尝试用 python 读/写,然后颜色再次改变.
  • 我附上了橙色之前/之后的图像。如果您在自己的选项卡中打开两个图像并来回切换,则差异会变得非常明显。
  • 如果我使用 opencv 读取已经处理过的图像(红色减少),并再次导出它,红色不会进一步减少。它仅在第一次由 opencv 处理图像时发生。

这是我的代码:

import cv2
loc = '/imagetest/'
img = cv2.imread(loc + 'orange.jpg', cv2.IMREAD_UNCHANGED)
cv2.imwrite(loc + 'orange_processed.jpg',img,[cv2.IMWRITE_JPEG_QUALITY, 100])
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明 在此处输入图片说明

python opencv

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

在 wordpress 中反应路由

我正在构建一个以 Wordpress 作为后端运行的 react SPA,但它不是无头的,因此整个前端都包含在主题中。我只是运行 npm build 并将生产文件排入functions.php文件中。应用程序被渲染到<div id="root"></div>一个模板文件中。我的 wordpress 安装设置为有一个静态主页,它使用包含 React 根 div 的模板。

除了路由器之外,这似乎工作得很好。如果我转到不同的地址,例如https://mywebsite/about,它会尝试加载名为 的 wordpress 页面about,而不是停留在同一页面上,并使用路由器呈现适当的组件。我必须在 .htaccess 文件中更改某些设置吗?或者还有什么我想念的吗?

wordpress .htaccess reactjs react-router

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

如果以前从未运行过 Airflow 任务,如何手动运行它

我多次遇到这个问题,但找不到解决方案。我在 Airflow 中有一个每天运行的 DAG,效果很好。有时我会向此 DAG 添加新任务,然后将其包含在下一次计划的 DAG 运行期间,这也很棒。

然而,有时我想立即运行新任务,因为我想立即使用结果。这似乎只能通过运行整个 DAG 来实现,但我不想这样做。如果任务已经运行,您可以单击它,清除其状态,手动运行它,并执行各种操作。但是,如果这是一个以前从未运行过的新任务,则您不能执行这些操作,因为它在悬停时会显示“停止”标志(并且显示“DAG 尚未运行”),并且您不能点击它。其中一些是有道理的(您无法重置状态,因为它尚未运行,因此它没有状态)。但是,我仍然希望能够手动运行它,就像处理现有任务一样。感觉这应该是可能的,但我不知道如何实现。

现有任务的菜单:

现有任务的菜单

将鼠标悬停在新任务上:

将鼠标悬停在新任务上

python airflow

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