User Post Type : Créez des listes d’utilisateurs filtrables
Le concept de User Post Type vous offre une méthode innovante pour relier des utilisateurs à un type de publication dans WordPress. Cela permet de créer des listes d’utilisateurs que vous pouvez filtrer de la même manière que n’importe quel autre type de publication.
Fonctionnement de User Post Type
Le plugin UPT (User Post Type) utilise une méthode astucieuse pour contourner la limitation de WordPress où les utilisateurs ne sont pas considérés comme un type de publication. Ainsi, une nouvelle catégorie cachée de publication, upt_user
, est créée, où chaque utilisateur est représenté comme une publication. Grâce à cela, les données des utilisateurs peuvent être synchronisées et utilisées pour mettre en place des facettes, ce qui vous permet de filtrer les utilisateurs de manière efficace et intuitive.
Mise en route
Pour utiliser le plugin, commencez par le télécharger de votre compte, puis installez-le comme n’importe quel autre plugin. Une fois le plugin activé, allez dans les paramètres de User Post Type et cliquez sur le bouton “Synchroniser maintenant”. Cela permettra de synchroniser les données des utilisateurs vers le nouveau type de publication.
Options de synchronisation
L’outil permet également de copier des données supplémentaires dans la table wp_postmeta
, ce qui n’est pas nécessaire pour l’affichage des champs mais s’avère utile lors de l’utilisation de meta_query
. Voici quelques options avec leurs clés correspondantes :
| Option | Meta Key |
|———————————|———————–|
| ID de l’utilisateur | ID |
| Nom d’utilisateur | user_login |
| Email de l’utilisateur | user_email |
| URL de l’utilisateur | user_url |
| Date d’enregistrement | user_registered |
| Statut de l’utilisateur | user_status |
| Nom affiché | display_name |
| Rôles | roles |
| Champ Usermeta | meta-zipcode (clé avec préfixe meta-) |
| Champ BuddyPress | bp-123 (ID de champ avec préfixe bp-) |
Affichage des utilisateurs
Pour afficher les utilisateurs, utilisez WP_Query
comme suit :
php
$args = array(
'post_type' => 'upt_user',
'post_status' => 'publish',
'posts_per_page' => 10,
);
$query = new WP_Query($args);
Cette approche se distingue de WP_User_Query
, qui n’est pas compatible avec le système de facettes.
Affichage d’un sous-ensemble d’utilisateurs
Si vous souhaitez afficher uniquement les administrateurs, sélectionnez “Rôles” dans le menu déroulant des paramètres, puis synchronisez. Ensuite, utilisez la requête suivante :
php
$args = array(
'post_type' => 'upt_user',
'post_status' => 'publish',
'orderby' => array('title' => 'ASC'),
'posts_per_page' => 30,
'meta_query' => array(
array(
'key' => 'roles',
'value' => 'administrator',
'compare' => '=',
),
),
);
$query = new WP_Query($args);
Vous pouvez également afficher des utilisateurs avec plusieurs rôles, comme les administrateurs et les éditeurs, en utilisant ce code comme exemple.
php
$args = array(
'post_type' => 'upt_user',
'post_status' => 'publish',
'orderby' => array('title' => 'ASC'),
'posts_per_page' => 30,
'meta_query' => array(
array(
'key' => 'roles',
'value' => array('administrator', 'editor'),
'compare' => 'IN',
),
),
);
$query = new WP_Query($args);
Affichage des champs utilisateurs
Le plugin UPT soutient la fonction get_user_meta()
de WordPress. Il suffit de remplacer $user_id
par UPT()->get_user_id()
:
php
echo get_user_meta(UPT()->get_user_id(), 'your_field_name', true);
Si vous êtes en dehors de la boucle, vous pouvez obtenir un ID utilisateur spécifique en utilisant :
php
echo get_user_meta(UPT()->get_user_id(THE_POST_ID), 'your_field_name', true);
Pour afficher la photo d’un utilisateur, en vous basant sur l’image stockée dans le champ “Photo de profil” par défaut de WP, vous pouvez utiliser :
php
echo get_avatar(UPT()->get_user_id(THE_POST_ID), 150);
Ajout de facettes
Lorsque vous ajoutez une nouvelle facette via le menu des paramètres de FacetWP, vous verrez une nouvelle section “Champs Utilisateur” dans le menu déroulant de la source de données. Cela vous offre des possibilités étendues pour filtrer les utilisateurs selon leurs caractéristiques.
Synchronisation d’un utilisateur spécifique
Il est également possible de synchroniser uniquement certains utilisateurs. Vous pouvez utiliser le code ci-dessous dans votre fonction functions.php
:
php
add_filter('upt_sync_skip_user', function($bool, $user_id) {
if (1 === $user_id) {
return true; // Ne pas synchroniser cet utilisateur
}
return $bool;
}, 10, 2);
Pour ignorer plusieurs rôles spécifiques lors de la synchronisation, appliquez ce code :
“`php
add_filter(‘upt_sync_skip_user’, function($bool, $user_id) {
$roles = (array) get_user_by(‘ID’, $user_id)->roles;
$roles_to_skip = [‘dormant-student’, ‘dormant-teacher’];
foreach ($roles_to_skip as $role) {
if (in_array($role, $roles)) {
return true; // Ne pas synchroniser cet utilisateur
}
}
return $bool;
}, 10, 2);
“`
Inversement, pour synchroniser uniquement les utilisateurs d’un certain rôle, utilisez le code suivant :
“`php
add_filter(‘upt_sync_skip_user’, function($bool, $user_id) {
$roles = (array) get_user_by(‘ID’, $user_id)->roles;
$roles_to_preserve = [‘student’, ‘teacher’];
$intersect = array_intersect($roles, $roles_to_preserve);
if (empty($intersect)) {
return true; // Ne pas synchroniser cet utilisateur
}
return $bool;
}, 10, 2);
“`
Personnalisation des arguments de register_post_type
Vous pouvez personnaliser les arguments de register_post_type
pour le upt_user
en utilisant le hook upt_post_type_args
. Voici comment forcer la visibilité du menu admin :
php
add_filter('upt_post_type_args', function($args) {
$args['show_in_menu'] = true;
return $args;
});
Pour empêcher l’accès aux publications individuelles du type upt_user
en front-end, utilisez ce code :
php
add_filter('upt_post_type_args', function($args) {
$args['publicly_queryable'] = false;
return $args;
});
Accès aux paramètres
Si vous devez donner à certains rôles d’utilisateur l’accès aux paramètres de l’add-on User Post Type, utilisez le hook upt_admin_settings_capability
.
Suivi et mise à jour
Avec chaque nouvelle version, des fonctionnalités sont ajoutées ou améliorées pour le plugin User Post Type. Voici quelques changements notables :
- Ajout du hook
upt_admin_settings_capability
. - Amélioration de la priorité de synchronisation pour une meilleure compatibilité avec des tiers.
- Correction de notices de dépréciation sous PHP 8.2.
Le plugin est un outil puissant qui optimise votre gestion des utilisateurs dans WordPress. Grâce à une configuration simple et flexible, il permet non seulement d’afficher, mais aussi de gérer vos utilisateurs en utilisant des requêtes personnalisées selon vos besoins. En combinant les différentes fonctionnalités, vous pouvez créer une expérience utilisateur riche et interactive sur votre site.
Avec l’utilisation du User Post Type
, vous boostez non seulement l’efficacité de votre administration WordPress, mais vous enrichissez également l’interaction de vos utilisateurs avec votre site. Il vaut donc la peine de tirer parti de cette fonctionnalité pour véritablement maximiser le potentiel de votre plateforme.
Télécharger User Post Type Plugins gratuitement
Vous voyez, télécharger User Post Type Plugins gratuitement sur OrangoGPL est faisable et cent pour cent légal.
En réalité, même télécharger un User Post Type cracké est conforme à la loi, et c’est parce que la licence sous laquelle il est distribué est la General Public License, et cette licence permet à quiconque sa libre modification et revente.
Donc, soyez tranquille: Si vous souhaitez acheter User Post Type à bon marché ou, directement, télécharger User Post Type Plugins nulled et, ainsi, l’avoir 100% gratuitement,, c’est possible sans enfreindre la loi.
Télécharger User Post Type GPL: L’ solution pour les entrepreneurs au début de leur parcours
Le nom que vous lui donnez n’a pas d’importance: Réductions pour User Post Type, télécharger User Post Type Plugins GPL, télécharger User Post Type sans licence ou télécharger User Post Type nulled.
C’est cent pour cent légitime et quelque chose de indispensable pour chaque entrepreneur au début de son parcours.
Avis
Il n’y a pas encore d’avis.