使用WP_user_query创建自定义筛选器搜索用户

时间:2017-03-22 16:04:05

标签: wordpress genesis

我尝试创建一个个性化的过滤器,其想法是用户可以选择整理网站作者列表的方式。按名称,功能和类别将有3种选择。

如果用户按功能或类别选择,则会显示下拉列表,并且必须过滤他选择的结果的功能。我试过这个,但我的WP_userquery中有一个错误。可以帮帮我吗?

add_action( 'genesis_loop', 'search_sort_filter', 5 );
add_action( 'genesis_entry_content', 'contributors_author_list' );
if($_GET['categorie']=="Partenaires"){
    add_action( 'genesis_entry_content', 'partenaires_list' );
}else{
    add_action( 'genesis_entry_content', 'contributors_author_list' );
}
function search_sort_filter() {

    ?><form action="" method="get">
        <select name="orderby" id="orderby">
            <option selected value="first_name">Prénom</option>
            <option value="fonction">Fonction</option>
            <option value="categorie">Catégorie</option>
        </select>
       <select id="categorie" name="categorie">
            <option value="choisir">Choisir catégorie</option>
            <option value="Partenaires">Partenaires</option>
            <option value="Collaborateurs">Collaborateurs</option>
        </select>
        <select id="fonction" name="fonction">
            <option value="choisir">Choisir Fonction</option>
            <option value="PDG">PDG</option>
            <option value="Trésorier">Trésorier</option>
            <option value="Cadre">Cadre</option>
            <option value="Secrétaire">Secrétaire</option>
            <option value="Employé">Employé</option>
            <option value="Ouvrier">Ouvrier</option>
            <option value="1er Expert">1er Expert</option>
        </select>
        <input type="search" name="as" id="searchtext">
        <input type="submit" value="Rechercher"/>
    </form><?php
}

function contributors_author_list()
{
    $args = array(
        'orderby'=> 'last_name',
        'order'=> 'ASC'
    );

    $user_query = new WP_User_Query($args);
    // User Loop
    if ( ! empty( $user_query->results ) ) {
        foreach ( $user_query->results as $user ) {
            ?>
            <div class="contributor">
            <div class="contributor-info">
                <div class="contributor-avatar"><?php echo get_avatar($user, 230); ?></div>
                <h2 class="contributor-name"><?php echo $user->display_name;?></h2>
                <?php if ($user->fonction) : ?>
                    <p class="contributor-fonction"><?php echo $user->fonction; ?>></p>
                <?php endif; ?>
                <?php if ($user->facebook_link) : ?>
                    <a class="contributor-facebook-link"
                       href="<?php echo esc_url($user->facebook_link); ?>"></a>
                <?php endif; ?>
                <?php if ($user->twitter_link) : ?>
                    <a class="contributor-twitter-link"
                       href="<?php echo esc_url($user->twitter_link); ?>"></a>
                <?php endif; ?>
                <?php if ($user->adresse) : ?>
                    <p class="contributor-adresse">
                       <?php echo $user->adresse; ?>"></p>
                <?php endif; ?>
                <?php if ($user->user_email) : ?>
                    <a class="contributor-email-link"
                       href="mailto:<?php echo esc_url($user->user_email); ?>"></a>
                <?php endif; ?>
                <div class="contributor-summary">
                    <p class="contributor-bio">
                        <?php echo $user->description; ?></p>

                </div>
            </div>
            </div><?php
        }
    } else {
        echo 'Aucun auteurs';
    }

}
function partenaires_list(){
    $user_query = new WP_User_Query( array( 'meta_key' => 'categorie', 'meta_value' => 'Partenaires' ) );
    if ( ! empty( $user_query->results ) ) {
        foreach ( $user_query->results as $user ) {
            ?>
            <div class="contributor">
            <div class="contributor-info">
                <div class="contributor-avatar"><?php echo get_avatar($user, 230); ?></div>
                <h2 class="contributor-name"><?php echo $user->display_name;?></h2>
                <?php if ($user->fonction) : ?>
                    <p class="contributor-fonction"><?php echo $user->fonction; ?>></p>
                <?php endif; ?>
                <?php if ($user->facebook_link) : ?>
                    <a class="contributor-facebook-link"
                       href="<?php echo esc_url($user->facebook_link); ?>"></a>
                <?php endif; ?>
                <?php if ($user->twitter_link) : ?>
                    <a class="contributor-twitter-link"
                       href="<?php echo esc_url($user->twitter_link); ?>"></a>
                <?php endif; ?>
                <?php if ($user->adresse) : ?>
                    <p class="contributor-adresse">
                        <?php echo $user->adresse; ?>"></p>
                <?php endif; ?>
                <?php if ($user->user_email) : ?>
                    <a class="contributor-email-link"
                       href="mailto:<?php echo esc_url($user->user_email); ?>"></a>
                <?php endif; ?>
                <div class="contributor-summary">
                    <p class="contributor-bio">
                        <?php echo $user->description; ?></p>

                </div>
            </div>
            </div><?php
        }
    } else {
        echo 'Aucun auteurs';
    }
}
genesis();

0 个答案:

没有答案