order users with drag'n'drop?

时间:2013-09-01 作者:frnhr

有很多插件可以让你通过拖放来订购页面和/或帖子。

是否有与订单用户类似的内容?

如果没有,是否可以为此创建一个插件(即是否有足够的过滤器、操作等)?

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

似乎没有这样的插件。。。

所以我创建了自己的:https://github.com/cek125i/simple-user-ordering
(~ 300行php代码,太长,无法在此处发布)

受“简单页面排序”插件的影响很大,但是从头开始创建的。

关于这个问题,一个糟糕的事实是,似乎没有内置的方法来按元值对用户进行排序。幸运的是,我只有10-20个用户,所以希望在获取后手动对它们进行排序不会太高的性能代价(这意味着每个用户都需要一个额外的查询来获取元值)。

SO网友:brasofilo

相当特殊的功能,从未见过任何插件。但这是一个采用拖放插件并进行调整的问题。

这里是一个经过精简和改编的版本My Link Order.
描述和to-do:

将在“用户”、“我的用户订单”中创建一个新的子菜单orderUsers() 在浏览器控制台中,您将看到当前顺序为数组。拖放并再次执行,数组将显示新的顺序Settings API 或创建AJAX 处理将订单另存为用户元数据的代码

<?php
/* Plugin Name: My Users Order */

add_action( \'admin_menu\', \'myuserorder_menu\' );

function myuserorder_menu()
{    
    $page = add_users_page(
        __( \'My Users Order\', \'myuserorder\' ), 
        __( \'My Users Order\', \'myuserorder\' ), 
        \'manage_links\', 
        \'myuserorder\', 
        \'myuserorder\'
    );
    add_action( "admin_print_scripts-$page", \'myuserorder_js_libs\' );
}

function myuserorder_js_libs() 
{
    wp_enqueue_script( \'jquery-ui-sortable\', false, array( \'jquery-ui-core\', \'jquery\' ) );
}

function myuserorder()
{
    ?>
    <div class=\'wrap\'>
        <form name="frmMyUserOrder" method="post" action="">
            <h2><?php _e(\'My Users Order\', \'myuserorder\') ?></h2>   
            <ul id="myUserOrderList">
            <?php
            $results = get_users();
            foreach( $results as $user )
                echo "<li id=\'{$user->data->ID}\' class=\'lineitem\'>" . $user->data->display_name . "</li>";
            ?>
            </ul>
        </form>
    </div>

    <style type="text/css">
        #myUserOrderList {
            width: 90%; 
            border:1px solid #B2B2B2; 
            margin:10px 10px 10px 0px;
            padding:5px 10px 5px 10px;
            list-style:none;
            background-color:#fff;
            -moz-border-radius:3px;
            -webkit-border-radius:3px;
        }
        li.lineitem {
            border:1px solid #B2B2B2;
            -moz-border-radius:3px;
            -webkit-border-radius:3px;
            background-color:#F1F1F1;
            color:#000;
            cursor:move;
            font-size:13px;
            margin-top:5px;
            margin-bottom:5px;
            padding: 2px 5px 2px 5px;
            height:1.5em;
            line-height:1.5em;
        }       
        .sortable-placeholder{ 
            border:1px dashed #B2B2B2;
            margin-top:5px;
            margin-bottom:5px; 
            padding: 2px 5px 2px 5px;
            height:1.5em;
            line-height:1.5em;  
        }
    </style>

    <script language="JavaScript" type="text/javascript">
        function orderUsers() 
        {
            var newOrder = jQuery("#myUserOrderList").sortable("toArray");
            console.log( newOrder );
        }
        function myuserorderaddloadevent()
        {
            jQuery("#myUserOrderList").sortable({ 
                placeholder: "sortable-placeholder", 
                revert: false,
                tolerance: "pointer" 
            });
        };
        addLoadEvent( myuserorderaddloadevent );
    </script>
    <?php
}

结束

相关推荐

Orderby=meta_value_num创建重复帖子

我将我的facebook喜好存储在名为fb\\U likes的自定义字段中。我的wordpress帖子顺序按此字段排序,如下所示。 \'meta_key\' => \'fb_likes\', \'orderby\' => \'meta_value_num\', \'order\' => \'DESC\', \'ignore_sticky_posts\' => 1, \'posts_per_page\' => $wp_query->