如何正确使用UPDATEPOST_META()函数?

时间:2020-08-12 作者:Shams M.Monem

因此,我正在自定义wordpress主题中开发一个类似插件的东西,在选项页面中,我有一个表单,其操作是php文件\\u选项。php,在正常情况下,一些数据将发送到此php文件以编辑一些帖子的元数据,但这不起作用,所以我在\\u选项中做了一项非常基本的工作。php

我刚刚将这行代码添加到\\u选项中。php文件

update_post_meta( 44, \'order_meta\', 2);
因此,理论上,每当我在浏览器中打开这个php文件时,它都应该转到ID为44的帖子,并将“order\\u meta”元数据值编辑为2,或者至少这是我的理解,但它不起作用。

此外,如果我在这一行之后添加了另一行代码,则它不会执行,例如,当我运行这一行时

update_post_meta( 44, \'order_meta\', 2);
echo \'Testing text\';
“The”;测试文本“;没有回声或任何东西,因此我认为这意味着上述函数正在退出执行或类似的操作。我在php方面没有太多的背景经验,所以你可以认为我是一个初学者,但我不知道为什么它不起作用。

id为44的帖子已经存在,键为order\\u meta的meta的值已经为1,但它似乎不想更改。

简而言之,我的问题是如何以编程方式编辑post元数据?我唯一的猜测是,当我使用这个功能时,我应该以某种方式激活后期编辑,我不知道该怎么做,如果你知道答案,请告诉我。

谢谢是预付款。

1 个回复
SO网友:Nate Allen

直接访问PHP文件并不是WordPress真正的工作方式。

目前,您的代码位于一个与WordPress没有连接的随机PHP文件中。它可能抛出了一个致命错误(调用未定义的函数),这就是为什么下一行无法执行的原因。

您说过此代码在您的主题中,所以我将首先将此代码放入functions.php. 如果您希望它位于其他文件中,则需要将此添加到该文件中functions.php 文件:

require_once \'_options.php\';

或者,如果它位于主题中的文件夹中(如“includes”),你会这样做:

require_once \'includes/_options.php\';

要控制该代码的触发时间,可以使用WordPress挂钩中的一个。

要正确创建选项页,check out this article in the codex.

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在