我有一个Custom Post Type 被称为“城市”。
每个城市都有:名称、人口、坐标等。我不希望用户能够在那里添加自定义内容(使用wp内容编辑器、HTML或可视化内容)。
最好的方法是什么?我应该在CSS中隐藏文本编辑器,然后在每个页面上放置(大约30个)元盒吗?与普通帖子相比,30个元盒会对主题的表现造成严重影响吗?我的目标是成千上万的帖子,每个都有30个元数据库。有什么提示吗?
我有一个Custom Post Type 被称为“城市”。
每个城市都有:名称、人口、坐标等。我不希望用户能够在那里添加自定义内容(使用wp内容编辑器、HTML或可视化内容)。
最好的方法是什么?我应该在CSS中隐藏文本编辑器,然后在每个页面上放置(大约30个)元盒吗?与普通帖子相比,30个元盒会对主题的表现造成严重影响吗?我的目标是成千上万的帖子,每个都有30个元数据库。有什么提示吗?
要创建没有编辑器的自定义帖子类型,只需省略\'editor\'
在\'supports\'
注册自定义帖子类型时的参数:
$args = array(
// only title field will be visible
\'supports\' => array( \'title\' ),
// other args here...
);
register_post_type( \'cities\', $args );
至于你的元数据,这是很多,但我不会说太多。而且,您不需要为30条数据创建30个元框,您可以在一个元框中呈现所有字段。如果需要通过meta_query
, 那么它应该是自己的领域。但是,如果有只显示但不查询的数据,则可以将其保存为一个数组,只需一个键:
$data = array(
\'street\' => \'fake street\',
\'number\' => 123,
\'fruit\' => \'pears\'
);
update_post_meta( $post_id, \'some_data\', $data );
WordPress将负责将数组转换为可存储值,并在加载数据时将其转换回数组。我遇到了一个让我困惑的问题:升级到WP 3.6后,当您重新订购时,我的可排序metabox字段没有保存它们的位置。下面是我的代码:PHP:function save_box( $post_id ) { $post_type = get_post_type(); // verify nonce if ( ! isset( $_POST[\'custom_meta_box_nonce_field\'] ) ) return $p