因此,我正在自定义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元数据?我唯一的猜测是,当我使用这个功能时,我应该以某种方式激活后期编辑,我不知道该怎么做,如果你知道答案,请告诉我。
谢谢是预付款。
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.