我应该如何为我的插件存储日志

时间:2014-03-23 作者:Jack

我有一个插件,作为transition_post_status 行动服务器每次都会发送一个响应。我想(永久)保存这些响应的日志,以便在表格中的某个位置向用户显示,如下所示:

Date | Response
------------------
1/1  | OK
1/2  | Status code 2
最好的方法是什么?我应该创建一个新的数据库表,还是有更方便的方法?

一些背景:我试过使用WP_Logging() class, 但当通过操作调用时,它似乎不能正常工作。

2 个回复
SO网友:s_ha_dum

你到底在做什么还不清楚。例如,我不确定您要保存的数据是什么,或者需要在何处/何时显示,但听起来您需要:

  1. The Transients API
  2. Or the Options API
SO网友:Jack

我最终的做法如下:

因为它是在post_status_transition, 每个日志都可以有效地链接到特定的帖子。因此,我可以使用add/update\\u post\\u meta将响应和时间戳存储为该帖子的元字段。

要检索所有日志,我只需执行以下操作:

$logs = array();
        $query_args = array(
            \'meta_key\' => \'myresponsetimestamp\',
            \'meta_compare\' => \'EXISTS\',
            \'order\' => \'DESC\',
            \'orderby\' => \'meta_value_num\'
        );
        $query = new WP_Query($query_args);
        if ( $query->have_posts() ) {
            while ( $query->have_posts() ) {
                $query->the_post();
                $post_id = get_the_ID();
                $logs[] = array(
                    \'postid\' =>$post_id,
                    \'time\' => get_post_meta( $post_id, \'myresponsetimestamp\', true ),
                    \'response\' =>get_post_meta( $post_id, \'myresponse\', true )
                );
            }
        }
        wp_reset_postdata();

结束

相关推荐

在wp_database中的哪些位置定义了可用角色?

我上榜是为了测试我在多站点网络上使用的插件的私有beta版。插件作者在其中有添加自定义角色的代码。他们有一个bug,它删除了为用户提供除一个自定义角色之外的任何角色的功能。当我访问时../wp-admin/network/site-users.php, “添加用户”角色下拉列表仅显示此插件添加的一个角色。change role下拉菜单显示所有WP默认角色,以及此插件和其他插件添加的一些额外角色。如果我试图将一个用户更改为这些角色之一,我会得到一个“你不能给用户这个角色”错误页面。我一直在与开发人员讨论这个