C'est ce dont j'ai besoin jusqu'à présent:
Dans une page personnalisée, je dois afficher différents titres de publication, en fonction de l'utilisateur qui la visite. Par exemple:
Si l'utilisateur (id ou nom, quel que soit) est "username1", je veux afficher une liste de messages de catégorie 1. Si l'utilisateur (id ou nom, peu importe) est "username2", je veux afficher une liste de messages de catégorie 2.
Ce que j'ai:
<?php
$user_id = get_current_user_id();
if ($user_id = 36) {?>
<?php $catquery = new WP_Query( 'resume_category=26&posts_per_page=50'
); ?>
<ul>
<?php while($catquery->have_posts()) : $catquery->the_post(); ?>
<li><a href="<?php the_permalink() ?>" rel="bookmark"><?php
the_title(); ?></a></li>
<?php endwhile;
wp_reset_postdata();}
?>
Merci
Ceci est basé sur les informations que je connais, donc il pourrait avoir besoin d'être peaufiné mais votre "CV_category" ressemble à une taxonomie, ce qui signifie que vous devez créer votre WP_Query un peu différemment.
$user_id = get_current_user_id();
if ($user_id == 36) {
$args = array(
'post_type' => 'YOUR POST TYPE',
'posts_per_page' => 50,
'tax_query' => array(
array(
'taxonomy' => 'resume_category',
'field' => 'term_id',
'terms' => '26',
),
),
);
$query = new WP_Query( $args );
echo '<ul>';
while($query->have_posts()) : $query->the_post();
echo"<li><a href=\"".the_permalink()."\"rel=\"bookmark\">".the_title()."</a></li>";
endwhile;
wp_reset_postdata();
}
Il s'agit toujours d'un processus très manuel car vous devez modifier manuellement le code pour chaque utilisateur qui se joint pour ce qu'il est autorisé à voir.
Ce que vous voudriez faire, c'est avoir un champ méta personnalisé qui saisit les options disponibles dans CV_category en tant que liste de sélection, multi-sélecteur, etc. qui vous permet d'attribuer des catégories aux utilisateurs. Vous stockeriez les term_ids pour ceux choisis de cette taxonomie dans le champ personnalisé.
Ensuite, vous pouvez faire quelque chose comme:
Obtenez les catégories d'utilisateurs.
$user_categories = get_user_meta($user_id, 'categories_field');
Ensuite, développez votre requête fiscale.
$terms = array();
foreach $user_categories as $category {
$terms[] = $category;
}
Alors votre requête devient:
$args = array(
'post_type' => 'YOUR POST TYPE',
'posts_per_page' => 50,
'tax_query' => array(
$tax_query = array(
'taxonomy' => 'resume_category',
'field' => 'term_id',
'terms' => $terms,
)
),
);
PS: Ce code n'a pas été testé car je l'écris directement ici mais vous donne une idée sur la façon de rendre la sélection de catégorie plus dynamique.
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots