在自定义表中存储自定义邮政类型数据

时间:2011-05-14 作者:James H

我正在为希望在多站点网络上部署此作业板的客户端开发自定义作业板。这是我的问题,我需要将某些作业存储在网络中所有站点都可以访问的表中(例如全国性列表),而不仅仅是本地(例如本地列表)。

我的问题是:自定义post类型中的数据能否存储在自定义表中?

编辑:也许需要更多的澄清。我的客户有一个多站点网络作业板。有针对特定地区(如圣地亚哥、奥斯汀、丹佛等)的就业委员会。现在,一个用户在丹佛网站上发布了一份丹佛的工作,但如果他有一份工作想在全国范围内做广告,他就必须在网络上的所有网站上发布这份工作。我们希望为作业创建自定义帖子类型,使用户有机会选择全国范围的类别,保存作业后,将其显示在网络中的所有站点上。我们可以看到实现这一目标的一种方法是,将作业标记为“全国”并将其数据保存在典型wp\\U 1\\U posts表之外的单独表中,以便我们可以查询该表中的全国性作业,并将其作为主题的一部分自动列在网络中的所有站点上。

2 个回复
SO网友:Brian Fegter

当然,您可以使用save\\u post操作以任何方式保存数据。简单地说,把它放在函数中。php文件。

add_action(\'save_post\', \'foo_save_custom_post_type\');
function foo_save_custom_post_type(){
    //Use the following debug code to see what information is available to you
    /*
    echo "<pre>";
    print_r($_REQUEST);
    echo "</pre>";
    exit;
    */

    if(\'custom_post_type\' === $_REQUEST[\'post_type\']){
        //Do your custom table bidding here
    }
}
确保将其与自定义帖子类型隔离,因为此操作在所有帖子类型(即页面、帖子、其他CPT)上运行。不隔离您的操作可能会使系统资源非常昂贵。

SO网友:Wyck

我看不出有什么理由不使用常规的自定义帖子类型,这就是数据存储在数据库中的方式,它适用于多站点。如果您有一个特殊的原因来创建我错过的自定义数据库表,请查看pods cms,这正是它所做的,或者您可以始终直接与db交互。

http://podscms.org/
http://codex.wordpress.org/Function_Reference/wpdb_Class

结束

相关推荐