Meta_box还是Custom_field作为第二个tinymce后实例?

时间:2012-04-09 作者:mathiregister

可能是一个很奇怪的问题,但我不知道这是否可能!?

我创建了一个custom-post-type 处理事件。一个活动总是有一个未来的日期,但一旦这个日期结束,我想能够写一篇活动回顾,并将其添加到帖子本身。

因此,将一个事件想象为一组两个帖子。第一篇帖子就是发布的那篇。附有事件描述、事件日期等。

活动结束后,我想写一篇活动的“回顾”——事情是怎样的,一些照片,等等。

你知道我怎么解决这个问题吗?所以同一个事件帖子突然有了一种“子帖子”,里面有评论?

我想知道我是否可以通过custom-field 这在现有的TinyMCE编辑器下面添加了一个全新的TinyMCE编辑器实例。这样我就可以在一篇帖子里写两篇帖子了?我知道听起来很傻。但是,我会有一个活动链接(如果活动日期结束),它会有一个格式不同的第二个帖子,其中包含对活动的回顾!

有什么想法吗?我怎么能解决这样的问题呢?非常感谢。

1 个回复
最合适的回答,由SO网友:Bainternet 整理而成

我相信这回答了你的两个问题(这和this), 看看My Meta box class 它允许在自定义元数据库中添加任何类型的字段。

一旦你上了这门课,你需要做的就是这样:

//include the main class file
require_once("meta-box-class/my-meta-box-class.php");
// configure your meta box
$config = array(
    \'id\' => \'event_review_box\',             // meta box id, unique per meta box
    \'title\' => \'Event Review\',          // meta box title
    \'pages\' => array(\'event\'),          // post types, assuming that your post type name is event
    \'context\' => \'normal\',              // where the meta box appear: normal (default), advanced, side; optional
    \'priority\' => \'high\',               // order of meta box: high (default), low; optional
    \'fields\' => array(),                // list of meta fields (can be added by field arrays) or using the class\'s functions
    \'local_images\' => false,            // Use local or hosted images (meta box images for add/remove)
    \'use_with_theme\' => false           //change path if used with theme set to true, false for a plugin or anything else for a custom path(default false).
);
// Initiate your meta box
$my_meta2 = new AT_Meta_Box($config);
//Add fields to your meta box
$my_meta2->addWysiwyg(\'wysiwyg_field_id\',array(\'name\'=> \'Event Recap\'));
//Finish Meta Box Deceleration
$my_meta2->Finish();
然后为“事件日期”字段添加新的元框

// configure your meta box
$config = array(
    \'id\' => \'event_date_box\',           // meta box id, unique per meta box
    \'title\' => \'Event date\',            // meta box title
    \'pages\' => array(\'event\'),          // post types, assuming that your post type name is event
    \'context\' => \'normal\',              // where the meta box appear: normal (default), advanced, side; optional
    \'priority\' => \'high\',               // order of meta box: high (default), low; optional
    \'fields\' => array(),                // list of meta fields (can be added by field arrays) or using the class\'s functions
    \'local_images\' => false,            // Use local or hosted images (meta box images for add/remove)
    \'use_with_theme\' => false           //change path if used with theme set to true, false for a plugin or anything else for a custom path(default false).
);
// Initiate your meta box
$my_meta = new AT_Meta_Box($config);
//Add fields to your meta box
$my_meta->addDate(\'date_field_id\',array(\'name\'=> \'Event Date \'));
//Finish Meta Box Deceleration
$my_meta->Finish();
你会得到这样的结果:enter image description here

结束