问题标签 [post-meta]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
228 浏览

php - WooCommerce `get_meta` 不获取产品的自定义帖子元

我正在开发一个至少有 10,000 种产品的 WooCommerce 设置。我需要为每个产品添加大约 20 项自定义元数据,包括几个单独的运费。我的商店有一些自定义运输方式,需要获取这些运输价格元值来计算运输成本。

起初,我将额外的字段添加为正常的帖子元值。但后来我考虑到有 10,000 个产品,我的元表很快就会变得很大,可能会影响性能。所以我创建了一个新的自定义帖子元表,每个产品一行,我的自定义元值有 20 列。wp_insert_post我在、delete_postadd_post_metadataupdate_post_metadata、和上添加了过滤器和操作get_post_metadata,以确保每个产品都获得自定义元记录,并且自定义元数据与默认元数据一起被读取和更新。delete_post_metadataupdate_post_metadata_cache

这适用于大多数普通操作。但我发现我的运输方式不再获得运输价格元值。他们试图让他们使用该WC_Data::get_meta方法。

当元数据存储为标准后元数据时,这工作得很好。但是现在这些值是空的。例如,

我知道我可以通过做来完成这项工作get_post_meta,但如果可能的话,我想以 WooCommerce 的方式获得元数据。显然,post 元数据和产品元数据之间存在一些额外的逻辑层,这意味着 Woo 方法无法看到自定义元数据。是否有一些过滤器可以用来以这种方式获取元值?

0 投票
0 回答
18 浏览

wordpress - 在摘要中,关于在 wordpress 中组织有关性能和最佳实践的数据的问题

简短版本:我最好是拥有大量具有广泛分类法的帖子......还是拥有大量帖子元的更少帖子?

长版:我试图围绕使用 wordpress 创建一个应用程序的最佳方法来确定您是否可以根据具有大量变量的许多材料的清单创建特定的食谱/项目。因此,用户将拥有一份成分/材料清单,并能够根据他们所拥有的内容搜索他们可以创建的模式。我会将数据存储在 CPT 中。所以有成分、模式和库存的 CPT。模式和库存只是在帖子元中包含成分帖子 IDS 列表的帖子。目前我正在考虑两种情况,并试图找出哪种情况最适合可扩展性、性能、简单性等。

为简单起见,我将使用珠子作为示例,但我将处理的成分有超过 20 个变量,我将作为自定义分类法存储这些变量。

案例1:每种成分的单独帖子,帖子附有少量变量/元数据。

在这种情况下,材料的每个实例都是它自己的帖子。所以用珠子...

  • 柱子 1) 1mm 红色玻璃珠
  • 柱子 2) 2mm 红色玻璃珠
  • 柱子 3) 3mm 红色玻璃珠
  • 后 4) 2mm 蓝色塑料珠
  • 后 5) 5mm 绿色陶瓷珠

ETC...

Inventories/recipes 是一个简单的 post_id 列表。(1,2,3,4,5)

案例 2:更少的帖子,更多的元数据。

  • 后 1) 玻璃珠 - 尺寸 1mm、2mm、3mm 等,颜色 - 红色、蓝色、绿色等。
  • 后 2) 塑料珠 - 尺寸 1mm、2mm、3mm 等,颜色 - 红色、蓝色、绿色等。
  • 后 3) 陶瓷珠 - 尺寸 1mm、2mm、3mm 等,颜色 - 红色、蓝色、绿色等。

库存/食谱变成了一个包含更多元的帖子列表:(1:尺寸 1 毫米、2 毫米、3 毫米、颜色、红色、蓝色//2:尺寸 2 毫米、绿色)等。

正如我之前所说,我的案例中的材料有更多的变量。如果我不得不猜测,我会说作为单独的成分帖子......我可能会有不到 10,000 个,每个都有大约 20 个自定义分类法。如果我走案例 2 的路线……我可能有 500 个帖子,其中包含 3-5 个变量(可用颜色、大小等)的元数据……以及 20 个自定义分类法。食谱的数量将继续增长……我猜它不会超过 50k。而且我无法想象超过 20k 人的用户群......这真是太乐观了......我无法想象我会拥有超过 100 个并发用户。

所以材料和配方/库存之间的基本关系是非常明显的。检查用户库存中的模式使用的材料,并确定他们是否可以创建它。如果不告诉他们缺少什么。我还将根据 20 种自定义分类法创建功能来推荐最接近的替代材料(如果缺少一个)。它还将作为所有材料和所有图案的搜索引擎。

我现在设置它的方式是使用案例一,因为就库存/模式而言,它非常简单且易于处理。我关心的是可扩展性、性能和管理。

在管理方面......材料的数量相当有限,所以一旦它们进入......我只需要在这里和那里添加和删除一些产品。

我想主要的问题是:在我正在处理的规模上,有什么理由不作为材料的大量个人帖子来做吗?它只是数据库中的数据,而只是我如何排序的问题?

我主要担心的是突然间...... 100 人开始使用它,而服务器就崩溃了......有人说......为什么你有 10000 个单独的材料帖子?

跟进问题...我是不是在想这个?

(为了记录......我已经阅读了几个星期关于如何进行有效查询,分类法比元搜索更有效,因为它们被索引,如何编写更有效的wordpress / php函数......但我不能'找不到任何解决这个特定问题的东西......作为材料/产品的数据持有者的帖子很多,而不是带有更多元数据的帖子)。

提前感谢您的任何反馈

0 投票
0 回答
215 浏览

php - 允许 Wordpress 用户从他们的用户资料上传和设置帖子图片

我有一个由 WP Store Locator 插件创建的自定义帖子类型。我已将元字段添加到帖子(商店列表)以将其链接到用户,以便用户可以编辑某些字段(如果他们拥有商店)。这适用于除媒体以外的所有领域。我对如何实现这一点感到有些困惑,因为媒体 postmeta(来自帖子的特色图像或只是自定义图像字段)具有自己的链接附件元数据。

我希望用户能够从他们的用户个人资料页面编辑/上传他们自己的特色图像或图像(作为自定义元字段)并将其保存到相关帖子中。我能够获取帖子 ID 并保存文本字段,但不能将图像保存/关联到帖子。

如果可能的话,我想使用 Wordpress 媒体上传功能,以使用户保持简单。

这是我当前的功能:

0 投票
0 回答
56 浏览

wordpress - WP_Query 按 postmeta 值的总和排序

我正在尝试创建一个自定义查询,以按postmeta表中 '_heateor_sss_shares_meta' 键的值的总和对帖子进行排序。我正在使用的值示例是:

我知道我应该做的是获得该记录的值的总和:

我需要修改的 WP_Query 代码orderby是:

我可以收集的是我需要添加:

我的问题是,如何对 '_heator_sss_shares_meta' 键的值进行总和计算,以便我可以从最高到最低排序?

0 投票
0 回答
19 浏览

php - 当我放置文件夹地址而不是 URL 时,unserialize() php 函数没有转换

我正在使用 wordpress 将帖子元插入数据库,我要插入的字段是视频 url,但有时我会从我的窗口插入视频文件夹地址。它们的插入方式是这样的:

第一个是视频 URL,第二个是视频地址。因此,当我想先展示它们时,我需要使用 unserialize() 函数转换为数组,但对于视频地址,它不起作用。

对于视频地址,它什么也不返回。

0 投票
0 回答
12 浏览

wordpress - Wordpress postmeta 序列化问题

我正在尝试从前端修改/更新 woocommerce 自定义字段。为此,我正在更新 post_meta。这是所需的序列化形式:

当我更新我的帖子元时,结果将显示如下:

除了两个字段外,它的保存几乎相同。(期望的输出)

但是我的代码保存了这些值,这对我来说是个问题:

这是我保存 post_meta 的数组

我不明白如何替换s:i:实现相同的输出。非常感谢任何帮助。

0 投票
0 回答
15 浏览

php - 发布元字段正在正确更新 woocommerce 自定义字段,但产品页面中未显示相同内容

我正在努力解决问题,但无法解决问题。我正在尝试自定义 woocommerce 礼品卡插件,并使用 dokan 插件在供应商页面上使其可编辑。一切正常。Post meta 正在根据需要准确更新,但 postmeta 值在产品页面上不起作用。与woocommerce有关的任何问题吗?或者我们需要对 woocommerce 采取具体行动才能使其发挥作用?这post_meta是保存在数据库中的内容:

我正在使用以下操作来保存 post_meta 值:

非常感谢任何帮助。

0 投票
1 回答
1185 浏览

php - Woocommerce如何从订单对象中获取元值

我正在尝试从wc_order. 我必须澄清一下,我不是php方面的专家,我已经尝试了很多方法来获得领域,包括:

  • get_meta()
  • get_meta_data()
  • get_post_meta( $order_id )
  • 等等...

但他们都没有奏效。我有这个订单 object

我正在尝试获取以下user_instagram值:order > meta_data[3] > current_data > value

有人知道获得它的方法吗?

编辑

我正在尝试添加lty_user_instagram字段。这是负责执行此操作的功能。

我要编辑的插件是FantasticPluginsLottery for Woocommerce ( class-lty-order-handler.php )

0 投票
0 回答
12 浏览

post-meta - 我们如何将所有具有 meta_key/value 的帖子移到列表的前面?

我在尝试设置元查询时遇到问题,该查询将重新排序我的自定义帖子,以便将 meta_key 'psychic_badge' 值为 'featured' 的任何帖子移到帖子列表的前面,其余帖子如下.

这就是我所拥有的,我认为它应该可以工作,但它并没有对帖子存档的显示方式进行任何更改(特色帖子出现在最后,因为它是要创建的最旧的帖子)。

0 投票
0 回答
19 浏览

wordpress - 每个克隆都有额外选项的 Wordpress Metabox

我正在使用Metabox.io来扩展自定义帖子类型的功能。

我想在选择一些东西后显示一个额外的 Meta。对我来说,这似乎是两个元数据之间的关系。

举个例子:

我有两个cpt“赞助商”和“活动”。作为 CPT 的事件有一个用于赞助商的可克隆元字段,因此可以添加 0-n。如果添加了赞助商,则元字段 Range-Bar(或类似的东西)应该在它的旁边/下方,以便用户可以选择赞助商的“重要程度”。

我查看了MB 关系插件,但它似乎不适合该用例。

有什么建议么?