我尝试创建一个个性化的过滤器,其想法是用户可以选择整理网站作者列表的方式。按名称,功能和类别将有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();