WordPress:无法在回调函数中访问callback_args键值

时间:2017-10-04 12:26:46

标签: wordpress custom-post-type meta-boxes

我正在开发一个基于简单插件的自定义帖子类型。帖子类型注册正常。现在我想创建一些元框并通过回调参数传递一些属性值。这就是我试过的:

$args->id, $args->name

这是我的带有参数的回调函数:

if(isset(...))

但我无法在函数中获得<input type="text" id="first_name" name="last_name" required placeholder="Enter firstname" maxlength="30" autocomplete="off" spellcheck="true" /> 等值。确切地说,所有值都是空的,我没有检查<input type="" id="" name="" /> 。而我所做的就是被忽略了。

使用上面的代码,我希望将以下标记作为输出:

type

而实际输出是

id

属性nameif(isset())if(isset())未包含在{{1}}块内,因此它们正在生成(具有空值)以及包含在{{1}内的任何内容只是被忽略,就像它们根本没有被设置一样!

我错过了什么或做错了什么? 任何建议都可以为我节省生命。

1 个答案:

答案 0 :(得分:2)

如果仔细检查documentation for add_meta_box(),您会看到:

  

($ callback_args(array)(可选)应设置为的数据   box数组的$ args属性(传递的第二个参数   你的回调)。

传递给回调的第一个参数是WP_Post个对象。 second 是您的参数数组。所以,试试:

function wpcd_meta_box_first_name_markup($post, $args) { ...

然后按照您的期望访问您的参数:

$args['type']