Je configure Wordpress 3.0.1 pour un utilisateur novice. Les widgets Dashboard sont placés de manière appropriée, et j'aimerais qu'ils restent ainsi. Pour autant que je sache, il n'y a pas de hook add_filter ou add_action pour empêcher le glisser, donc une autre approche serait de faire un plugin qui utilise jQuery pour désactiver le glisser. Quel (s) gestionnaire (s) devrais-je redéfinir - click, mouseUp, mouseMove, etc - et sur quels éléments DOM?Comment empêcher les widgets de tableau de bord Wordpress d'être déplacés?
Répondre
Utilisez un plug-in Rôles comme WordPress › Role Scoper « WordPress Plugins pour limiter ce que l'utilisateur peut faire. Ce n'est pas une bonne idée de modifier les fichiers de base, car vos modifications seront écrasées lors de la mise à jour.
Je n'ai trouvé aucune fonctionnalité liée au glisser-déposer des widgets. Merci quand même. – Remy
À la réflexion, les widgets sont une chose de base WP, alors oui, peut-être devoir pirater les fichiers de base. – markratledge
La solution la plus simple est peut-être d'empêcher l'enregistrement de la nouvelle commande. Cela permettra à l'utilisateur de modifier l'ordre, mais il ne sauvegardera pas les modifications pour la prochaine fois que la page est chargée.
Vous voulez éviter le meta-box-order
événement ajax:
add_action('check_ajax_referer', 'prevent_meta_box_order');
function prevent_meta_box_order($action)
{
if ('meta-box-order' == $action /* && $wp_user == 'santa claus' */) {
die('-1');
}
}
Il y a probablement d'autres actions que vous voulez éviter aussi. Ouvrez Firebug et vérifiez quelles sont les demandes faites à admin-ajax.php
lorsque vous faites des choses que vous souhaitez éviter. Ou masquer l'onglet Options d'écran avec CSS.
Y a-t-il une raison pour laquelle l'utilisateur a besoin d'accéder aux paramètres Apparence? Pouvez-vous limiter l'accès des utilisateurs aux thèmes et aux widgets tous ensemble? – BandonRandon
Ils n'ont pas accès à Apparence; ce sont des auteurs. Les seuls widgets que j'ai laissés sur le tableau de bord sont Right Now et Quickpress. Je veux juste désactiver le glisser-déposer de ces widgets. – Remy