Un utilisateur a demandé 👇
Salut les amis,
Je développe un site réservé aux membres où presque tous les messages devraient avoir une visibilité = Privé. Étant donné que WP les publie par défaut, j’ai recherché des plugins mais je n’ai pu obtenir que 2 plugins plus anciens que j’ai essayés sans succès.
Ensuite, j’ai cherché un hack sur Google et j’ai trouvé ce fil qui fournissait le code ci-dessous (merci Steve). Il fait presque exactement ce qui est nécessaire, c’est-à-dire que les travaux sont créés comme privés par défaut, mais il y a un hic : dans les rares occasions où j’ai besoin d’un travail public, lorsque j’enregistre le nouveau travail, il le force à être privé même si j’ai corrigé pour le public (donc je trouve que ça marche trop bien :-).
Quelqu’un aurait-il une astuce qui pourrait aider à résoudre ce problème? Le code que j’utilise est :
//Force posts of custom type 'internt-arkiv' to be private
//…but first make sure they are not 'trash' otherwise it is impossible to trash a post
function force_type_private($post)
{
if ($post['post_type'] == 'post') {
if ($post['post_status'] != 'trash') $post['post_status'] = 'private';
}
return $post;
}
add_filter('wp_insert_post_data', 'force_type_private');
Merci d’avance,
Denis
Ce sujet a été modifié il y a 1 an et 11 mois par.
(@ gaiement)
il y a 1 an, 11 mois
Je pense que Private ne fonctionnera pas vraiment pour vous. Selon https://codex.wordpress.org/Post_StatusViewable only to WordPress users at Administrator level. (private)
Cependant, le plugin que vous avez demandé est : https://wordpress.org/plugins/private-post-by-default/ Vous pouvez lire le code et voir ce qui est différent. Mais il vaut mieux que ce soit l’un des plugins que les sites d’adhésion font pour vous, même s’ils semblent se concentrer sur le contenu existant et non sur le contenu de l’utilisateur.
(@dwl003)
il y a 1 an, 11 mois
Bonjour joie
Merci pour la réponse rapide. En fait, lorsque j’attribue à de nouveaux utilisateurs le rôle d’abonné ou d’éditeur, ils peuvent voir les publications privées. J’ai admis que j’ai joué avec beaucoup de plugins qui peuvent modifier ce comportement, mais pour prouver/réfuter cela, je vais essayer de faire une nouvelle installation propre sans plugins et de l’essayer.
Je vois aussi des informations contradictoires sur le sujet :
Comme vous le dites, les administrateurs ne disent que ce document : https://codex.wordpress.org/Post_Status
L’éditeur de ce document déclare également :
https://codex.wordpress.org/Content_Visibility
Quoi qu’il en soit, maintenant tout fonctionne bien lorsque mes abonnés et mes éditeurs peuvent voir les publications (sauf le problème que j’ai concernant la sauvegarde des travaux publics).
De plus, j’ai essayé le plugin que vous avez mentionné mais je n’ai pas réussi à le faire fonctionner. Je vais également essayer cela sur un nouveau boîtier propre pour savoir comment cela fonctionne.
Mais je serais toujours curieux de savoir s’il y a des ajustements qui peuvent être apportés au code dans mon message d’origine.
Merci encore,
Denis
(@ gaiement)
il y a 1 an, 11 mois
Votre code est correctement filtré lorsque les données sont écrites dans la base de données, il n’y a donc aucune chance que l’utilisateur ait le dernier mot. Je n’ai pas regardé, mais je parie que le code du plugin mentionné définit l’état au début de la publication, pas à la fin. (vous n’êtes pas obligé d’utiliser le plugin, mais c’est agréable de voir le code)
(@dwl003)
il y a 1 an, 11 mois
D’accord, mais rassurez-vous. J’ai fait une installation propre, sans plugins en utilisant le thème par défaut. J’ai créé une publication privée et je peux confirmer que les utilisateurs peuvent jouer le rôle d’éditeur mais pas le rôle d’abonné. Je vais donc devoir creuser plus profondément et découvrir quel plug-in a modifié ce comportement.
Quant au plugin que vous avez suggéré, il a parfaitement fonctionné lors d’une installation propre, puis j’ai supprimé le code personnalisé et installé le plugin sur le site en direct et cela a également fonctionné et je ne sais pas ce que j’ai fait de mal lorsque je l’ai essayé pour la première fois (ai-je oublier l’activer peut-être ?).
En tout cas je me sens bien maintenant.
J’apprécie votre aide car je suis un peu novice 🙂
Merci
Denis
Cela a-t-il résolu votre problème ?
Was this helpful?
0 / 0