具有两种不同类型的字段的元框(在自定义帖子类型中)

时间:2013-02-18 作者:Blanka

enter image description here

我想制作一个包含两种不同类型字段的元框(在自定义帖子类型中):

文本并选择(可能将其放入数组?)并显示此元框,其中包含两个具有单个ID的字段,如下所示:

if ( get_post_meta( $post->ID, \'The_ID\', true ) != \'\' ) {
    echo get_post_meta( $post->ID, \'The_ID\', true );
}
这可能吗?

1 个回复
SO网友:Mike Madern

如果将两个输入字段的内容保存到一个post\\u元值中,则可以立即调用它们。

In the save_post action

$text = esc_attr( $_POST[\'text\'] );
$select = esc_attr( $_POST[\'select\'] );

// saves the value as "text select"
$combined = trim( sprintf( \'%1$s %2$s\', $text, $select ) ); 

update_post_meta( $post_id, \'The_ID\', $combined );

Get Post Meta

if ( $the_id = get_post_meta( $post->ID, \'The_ID\', true ) )
    echo $the_id;
另一种方法是在序列化数组中添加所有信息,然后保存。

In the save_post action

$text = esc_attr( $_POST[\'text\'] );
$select = esc_attr( $_post[\'select\'] );

$combined = serialize( array(
    \'text\' => $text,
    \'select\' => $select
) );

update_post_meta( $post_id, \'The_ID\', $combined );

Get Post Meta

if ( $the_id = get_post_meta( $post->ID, \'The_ID\', true ) )
    $the_id = unserialize( $the_id );
$the_id 将包含一个值为的数组textselect.

结束

相关推荐

为什么esc_url在SmartMetabox中不起作用

你试过吗http://www.wproots.com/ultimate-guide-to-meta-boxes-in-wordpress/ ? 创建metabox是一个很好的类。但我对验证有问题。我试过了sanitize_callback 参数来清理URL,所以我使用esc_url 但该字段仍然接受所有值。这里有什么问题?这是我的密码add_smart_meta_box( \'themename_slides_url\', array( \'title\' => _