[wordpress-plugin] SF Author Url Control

Download 48 Hits - 21.3 kB SF Author Url Control

SF Author Url Control est un plugin que je vient de créer pour personnaliser l'url des pages auteur de WordPress. La base /author de l'url est éditable, ainsi que l'identifiant de chaque utilisateur.

Ce que fait le plugin

Une fois le plugin installé et activé, aller dans Réglages > Permaliens pour découvrir un nouveau champ permettant de modifier la base de l'url (par défaut : /author). Le plugin vérifie que le terme rentré n'est pas déjà utilisé ailleurs (comme les mots tag, category, l'url d'une taxonomie, etc).

Base de l'url auteur

Ensuite, aller dans Utilisateurs puis dans la page d'édition d'un utilisateur. Un nouveau champ en bas de page permet de modifier l'identifiant dans l'url (ça ne change pas son login hein ;)). Le plugin vérifie bien sûr qu'un tel identifiant n'existe pas déjà.
Pour accéder à ce champ, l'utilisateur doit avoir le droit "edit_users". En d'autres termes, seul un administrateur pourra voir et modifier ce champ.
Ce changement d'identifiant a en plus un caractère sécuritaire. En effet si mon Login est "Terminator", l'identifiant apparaissant dans l'url de mon profil sera "terminator"... Voilà qui rend la tâche beaucoup plus facile lorsque l'on veut pénétrer dans un site sans y être invité.

Ainsi, l'url par défaut www.screenfeed.fr/author/terminator/ peut devenir www.screenfeed.fr/jedi/obiwan/.

Author slug setting

Un petit plus : dans la liste des utilisateurs, une nouvelle colonne "Identifiant d'url" apparait (désactivable) et indique... (wait for it)... l'identifiant d'url de chaque utilisateur. Un administrateur aura droit à un marquage supplémentaire :
- si l'identifiant est noir, il s'agit de celui par défaut.
- s'il est vert c'est qu'il a été modifié.

Configuration

Installation minimale : Aucune idée en fait. Testé sur 3.3.1 et 3.4b2. (je pense qu'en 3.0 ça passe)
Langues : anglais et français
Compatible Multisite (prise en compte également du préfixe /blog pour le site principal)
WordPress Plugin Directory : SF Author Url Control

Version: 1.0.2 - Changelog

Côté perfs :
- Front-end : aucun impact, juste un set de variable à l'init, et 3 define de constantes.
- Back-end : négligeable. Pas de javascript ou de CSS ajoutés, juste le strict nécessaire aux bons endroits.

Note de l'auteur : "Yeah! Le 50ème article du blog !"

Geoffrey
16
avr
2012
@17:20

Trop bien !
Je te le pique !
Merci pour ton travail Greg :)

#
Greg
16
avr
2012
@18:44

You're welcome.
C'est la faute à Steph ça, c'est elle qui m'a donné l'idée -_-'

"En réponse à Geoffrey"Répondre
#
Pascal
17
avr
2012
@9:42

Bonjour,

Merci pour votre site, et pour ce plugin en particulier ! Je me demandais s'il serait pas possible de ne rien avoir du tout comme "author base". C'est à dire que la page d'un auteur soit du type :

http://www.mon-url.com/Prénom-Nom

Bien utile comme plugin en tous cas ! merci pour le travail !

A +

#
Greg
17
avr
2012
@18:15

Bonjour,

Je n'ai jamais tenté mais je ne pense pas que ce soit possible à mon avis. Le plugin ne le permettra pas en tout cas.

A+

"En réponse à Pascal"Répondre
#
Geoffrey
17
avr
2012
@18:40

Hello,

J'ai testé sur une installation pas tout à fait propre de WP en renseignant un "." (point) en guise de slug pour les pages author. J'obtiens un message de confirmation de la prise en compte du nouveau slug, mais le point n'apparait pas.

Ensuite j'essaye de renseigner un nom "poney" ici (va savoir pourquoi), et :
"ERREUR: Ce préfixe des pages auteur est déjà utilisé ailleurs (pour une page d’archive de contenu personnalisé). Merci d’en choisir un autre."
Pourtant promis je n'ai pas de CTP "poney", ni "kikoo" ou "hop", pourtant j'ai toujours le même message.

J'ai installé en parallèle ton plugin d'archive des CPT (la dernière version)... il semblerait que ce soit ce plugin la cause du problème. En le désactivant (oui, juste désactivé) je peux ensuite éditer le champ dans les réglages de permaliens. Si je réactive le plugin d'archive des CPT je ne peux plus éditer ce même champ.

Bon courage ! :p

#
Greg
17
avr
2012
@19:03

"J'ai testé sur une installation pas tout à fait propre de WP en renseignant un "." (point) en guise de slug pour les pages author. J'obtiens un message de confirmation de la prise en compte du nouveau slug, mais le point n'apparait pas."
Ok, c'est normal qu'il n'apparaisse pas car le champ est sanitizé, les points sont virés. Par contre j'ai dû faire cette sanitization trop tard, après les vérifications je suppose. Je corrigerais.

Hmmm... T'es tombé sur un poney assez vicieux je trouve :/
Pourtant, sur les 3 installations où j'ai testé le plugin, SF Archiver était installé et je n'ai pas eu ce problème.
Je vais jeter un œil là-dessus, mais si je n'arrive pas à reproduire le bug je vais avoir du mal à savoir d'où il vient. Bon, restons confiant ^^

Merci pour ce retour de bugs :)

[edit] Je viens de tester avec un point. Le comportement est normal. Le point est viré et le champ est considéré vide, donc la base "/author" par défaut est prise. Une amélioration serait de mettre en place un message pour ce cas précis (valeur du champ qui devient vide après sanitization).

"En réponse à Geoffrey"Répondre
#
Greg
17
avr
2012
@20:40

@Geoff.
Qu'entend-tu par "je ne peux plus éditer ce même champ" ?
Je viens de faire pas mal de tests sur différents sites et... rien. Je n'arrive pas à reproduire le bug :(

"En réponse à Geoffrey"Répondre
#
Geoffrey
17
avr
2012
@21:16

J'entends par là que je peux modifier la valeur du slug pour les pages author, mais lors de la validation j'ai le message d'erreur mentionné dans mon précédent commentaire, et le slug reste le même, il n'est pas changé.
Je refais des tests sur une autre installation ;)

#
Greg
17
avr
2012
@21:39

Ok c'est bien ce que j'avais compris alors.
Au début je me suis dit que tu avais peut-être laissé dans un coin un bout de code qui créé un CPT "poney" juste pour tester quelque chose, puis oublié de l'enlever. Mais ça n'expliquerait pas que ça refuse les autres valeurs. Donc hypothèse à écarter.

Pour la vérification des CPTs je fais 2 tests :
- L'un va chercher s'il existe un CPT avec la base auteur comme has_archive (c'est le cas qui nous intéresse) pour les pages archives,
- L'autre va chercher les CPTs ayant le slug du rewrite identique à notre base auteur.

Je ferais des tests plus poussés du côté du has_archive, j'ai forcément dû louper un truc pour avoir un tel bug.

"En réponse à Geoffrey"Répondre
#
Geoffrey
17
avr
2012
@21:31

Bonne nouvelle, ou pas... je n'ai pas réussi à reproduire le bogue. Fausse alerte ou cas isolé...
J'espère ne pas t'avoir fait perdre inutilement du temps :?

En tout cas tu as un code super propre ! Bravo !
Encore merci pour ce plugin Greg !

#
Greg
17
avr
2012
@21:40

You're welcome :)

"En réponse à Geoffrey"Répondre
#
Jerome
29
jan
2013
@10:35

Bonjour,
je viens d'installer ton plugin, il est excellent. Je trouve vraiment "tordu" que WordPress affiche le login de l'utilisateur dans la page auteur et dans la feuille de style sous forme de class pour les commentaires ! Grosse faille de sécurité. Ton code apporte une solution à ces deux problèmes ;) Bravo.

#

Salutations, étranger.

Envie d'un avatar?
Gravatar
Do not fill the next field
:D :lol: :) ;) :P 8) :roll: :( :cry: :oops: :? :| :o 8O :x :twisted: :evil: :mrgreen:

.
Afficher le panneau des Smilies:D   Afficher le panneau des balises html utilisables Balises
Vous pouvez utiliser ces balises:
<b></b> <i></i> <del></del> <a href=""></a> <abbr title=""></abbr> <cite></cite> <code></code> <pre lang="" line=""></pre>
Exemples pour "pre": lang="css", "html", "javascript", "jquery", "php", "sql"... (ou laisser vide)