我注册了三种不同的职位类型:
register_post_type( \'foo\' , $args );
register_post_type( \'bar\' , $args );
register_post_type( \'baz\' , $args );
当我创建一个新的,比如“foo”帖子时,我只想保存“foo”的元框,我该怎么做?
add\\u action(\'save\\u post\',\'save\\u details\');
因此,如果我的post\\u类型被称为“foo\\u post”:
add_meta_box(
$id,
$title,
$callback,
// SPECIFY THE POST TYPE HERE!!!
"foo_post",
$context,
$priority,
$callback_args );
当我创建/编辑“foo post”页面时,如何只保存“foo post”元框?
最合适的回答,由SO网友:ungestaltbar 整理而成
由于save\\u post为您提供当前帖子的post\\u id,您只需使用get\\u post\\u type($post\\u id)检查它是什么post\\u类型
例如:
add_action(\'save_post\', \'save_details\')
function save_details($post_id)
{
$post_type = $_REQUEST[\'post_type\'];
if (\'foo_post\' == $post_type)
{
// save stuff for foo_post
}
elseif (\'bar_post\' == $post_type)
{
// save stuff for bar_post
}
}
等等。。。
get_post_type() codex page
SO网友:Chip Bennett
我想你说的是一个自定义的post meta框?如果是,那么您需要确保*指定$posttype
当你打电话的时候add_meta_box()
. e、 g.:
<?php
add_meta_box(
$id,
$title,
$callback,
// SPECIFY THE POST TYPE HERE!!!
$post_type,
$context,
$priority,
$callback_args );
?>
如果您不是在引用自定义的post meta框,那么您需要提供更多关于您试图操作的post meta框的信息。