Custom Post Type Statuses

时间:2011-01-20 作者:Zack

我(仍然)在为我的工作场所开发一个自定义帖子类型插件,并遇到了一种更简单的方法,将访问者(我的自定义帖子类型)标记为“Here”(即已签入)或“Not Here”(未签入)。

我已经探索了Edit Flow 插件,老实说,我真的无法理解这里发生了什么。。。然而,我确实遇到了WordPress的核心功能,但我似乎在web上找不到太多文档(甚至在WordPress.org上也找不到)。功能是register_post_status 但我发现最好的是this resource 它最多只能显示与函数$args 参数

有人试过这个吗?还是只有我一个人真正需要自定义帖子类型的自定义帖子状态?

EDIT: 我读过thisthis 根据the answers/comments I\'ve received. 这是一个我不能百分之百确定的实现,因为缺少文档。

我知道它不起作用,但我不明白为什么它不起作用。这两种状态均未显示在状态列表中。我的下一步行动是用分类法对其进行破解,然后创建我自己的“发布”元框。

    register_post_status(\'in\', array(
            \'label\' => _x( \'Logged In\', $post_type ),
            \'protected\' => true,
            \'label_count\' => _n_noop( \'Visitors logged in <span class="count">(%s)</span>\', \'Visitors logged in <span class="count">(%s)</span>\' ),
            \'show_in_admin_status_list\' => true,
        ));

    register_post_status(\'out\', array(
            \'label\' => _x( \'Logged Out\', $post_type ),
            \'protected\' => true,
            \'label_count\' => _n_noop( \'Visitors logged out <span class="count">(%s)</span>\', \'Visitors logged out <span class="count">(%s)</span>\' ),
            \'show_in_admin_status_list\' => true,
        ));

2 个回复
最合适的回答,由SO网友:Simon Blackbourn 整理而成

WordPress的核心代码中确实存在自定义帖子状态,因此您可以注册它们,但它们尚未在管理屏幕中正确实现(例如,它们不会显示在待审核、草稿、发布状态旁边的状态下拉列表中)。因此,目前基本上你对它们无能为力。

您可以在上阅读更多Trac ticket 12706.

SO网友:jaredwilli

我做了一些类似于facebook的事情,比如在哪里可以发布状态更新。我相信这和你想做的差不多。我刚刚创建了一个自定义帖子类型,它只支持摘录和标题,用于发布状态。

这个register_post_status 不是你想象的那样。wp中的帖子状态包括发布、草稿、未来(计划帖子)和锁定/私有。它们是您帖子的状态。无论它们是否发布,无论它们被设置为什么。

要显示当前登录/注销的用户,可以使用插件。我推荐这个例子。http://lesterchan.net/portfolio/programming/php/#wp-useronline

您还可以创建一个相对较短的脚本,循环遍历所有注册用户,并检查is_user_logged_in() 通过他们的ID。这对返回已登录的用户不起作用,它只是循环遍历所有已注册的用户,以便您可以处理他们。您可以找到一种方法来检查is\\u user\\u logged\\u(),尽管我可以肯定。

<?php
$wp_user_search = $wpdb->get_results("SELECT ID, display_name FROM $wpdb->users ORDER BY ID");

foreach ( $wp_user_search as $userid ) {
    $user_id = (int) $userid->ID;

    /* use this or some other current_user() function in WP to check if user is logged 
       @is_user_logged_in();
    */
}
?>

结束

相关推荐

How do you debug plugins?

我对插件创作还很陌生,调试也很困难。我用了很多echo,它又脏又丑。我确信有更好的方法可以做到这一点,也许是一个带有调试器的IDE,我可以在其中运行整个站点,包括插件?