根据用户分类推荐用户

时间:2016-05-04 作者:Kleeia

我的问题是获取关于如何为我必须完成的任务而行动的信息或方向。这只是一个征求意见的请求,因为我不是wordpress开发方面的专家。

我的任务是创建一个模块(小部件或只是一个查询),在其他人发布内容之后,根据注册用户订阅的类别(用户分类法,如专业)建议注册用户。

我来举个例子:

我张贴了一份工作(表格),选择它将致力于哪个职业(用户分类)我已经创建了用户分类法,但我真的不知道从哪里开始执行此任务。你知道有什么关于它的文章或问题吗?你能开车送我去学什么吗?

谢谢

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

不能按分类法查询用户。您需要重新考虑您的系统。我该怎么办?

保留分类法,但仅用于输出可选择的值-wp_dropdown_categories()AS 用户元,NOT AS 分类法-update_user_meta()WP_User_Query()


Example:

此代码将转到发布作业的页面模板。

// This will check if form was submitted, it will not trigger/show on "normal" page load
if( $_SERVER[\'REQUEST_METHOD\'] == \'POST\' ) {

    // This will get the profession from input after form is submitted & page reloaded
    // Change "profession" to the name of that input where user can choose profession
    $submitted_profession = $_POST[\'profession\'];

    // Arguments for user query, see more from the user query link above
    $args = array(

        // How many to return?
        \'number\' => 3,   

        // User meta
        \'meta_query\' => array(
            array(
                \'key\'     => \'profession\',  // Name of user meta key in database
                \'value\'   => $submitted_profession, // We get this from form, see above
                \'compare\' => \'=\' 
            )
        )
    );

    // Query itself
    $suggested_users_query = new WP_User_Query( $args );

    // Get the results
    $users = $suggested_users_query->get_results();

    // Check if there actually are users based on that criteria 
    if ( ! empty( $users ) ) {

        // All the output how you want your users to look like goes here 

        // I wrote a small example

        echo \'<ul>\';

        // Loop trough each user 
        foreach ( $users as $user ) {

            // Get all the user data
            // To find all the fields you could use, search "get_userdata()" online
            $user_info = get_userdata( $user->ID );
            echo \'<li>\' . $user_info->first_name.\' \' . $user_info->last_name . \'</li>\';
        }

        echo \'</ul>\';

    } 
    // No users with that profession
    else {

        echo \'No users with profession \' . $submitted_profession;
    }
}

相关推荐

如果WP_QUERY中有数据,如何签入Functions.php?

我在主页上有两个不同的WP查询。我需要检查函数中的$home\\u查询条件。php然后,如果$home\\u query返回null,我想做些什么。我尝试了pre\\u get\\u posts操作,但我无法捕获$home\\u查询数据,而且它运行了两次,因为页面上有两个WP\\u查询。使用If$home\\u query返回null的分页方式,我想将页面重定向到404页面并获取404响应的代码。例如https://example.com/page/200/ 页码是200,但在页面中没有200页码,我想重