{"id":2078,"date":"2011-12-20T09:30:51","date_gmt":"2011-12-20T08:30:51","guid":{"rendered":"http:\/\/flaven.fr\/?p=2078"},"modified":"2013-09-24T06:01:22","modified_gmt":"2013-09-24T04:01:22","slug":"wordpress-administration-personnalisation-personnaliser-ladministration-de-wordpress-a-laide-de-plugins","status":"publish","type":"post","link":"https:\/\/flaven.fr\/2011\/12\/wordpress-administration-personnalisation-personnaliser-ladministration-de-wordpress-a-laide-de-plugins\/","title":{"rendered":"WordPress, Administration, Personnalisation &#8211; Personnaliser l&#8217;administration de WordPress \u00e0 l&#8217;aide de plugins"},"content":{"rendered":"\n<p><!--  WordPress, Administration, Personnalisation - Personnaliser l'administration de WordPress \u00e0 l'aide de plugins --><br \/>\n<!--  PHP, WordPress , MySQL, Administration, CMS, Th\u00e8me, webdesign --><\/p>\n<p>Si vous \u00eates amen\u00e9 \u00e0 utiliser WordPress pour le compte d&#8217;un client, il vous faudra certainement personnaliser l&#8217;outil d&#8217;administration, cela peut aussi faire parti d&#8217;une d\u00e9marche personnel afin de personnaliser plus encore votre th\u00e8me dans sa partie &#8220;front&#8221; comme dans sa partie &#8220;back&#8221;.<!--more--><\/p>\n<p>On va voir la chose en 2 temps :<\/p>\n<ol>\n<li>Comment ajouter un logo diff\u00e9rent sur la page de login sous WordPress car c&#8217;est finalement la premiere chose que sera amen\u00e9 \u00e0 voir toute personne cherchant \u00e0 se loguer \u00e0 l&#8217;outil WP.<\/li>\n<li>Ajouter un widget en top position sur le &#8220;dashboard&#8221; ou tableau de bord de WordPress, sachant que l\u00e0 aussi c&#8217;est un des tous premiers \u00e9crans que voit l&#8217;utilisateur.<\/li>\n<\/ol>\n<p><b>Les tests ont \u00e9t\u00e9 sur la derni\u00e8re version de WordPress, la 3.3<\/b><\/p>\n<h4>Modifier la page de login via un plugin<\/h4>\n<p>On va voir \u00e0 l&#8217;aide d&#8217;un plugin comment modifier la page de login. L&#8217;activation du plugin aura comme cons\u00e9quence de placer un logo en lieu et place du logo WP sur la page de login, de chang\u00e9 le lien sur ce m\u00eame logo, en permettant de retourner sur la page d&#8217;accueil du login ainsi que le alt message. <b>Nous sommes servi du logo 3WDOC, notre web application de cr\u00e9ation d&#8217;histoire interactives et enrichies disponible sur <a href=\"http:\/\/3wdoc.com\/fr\/\" target=\"_blank\">www.3wdoc.com<\/a> <\/b><\/p>\n<p><b>Le plugin se nomme <code>he3adminsettings<\/code>, il comprend un r\u00e9pertoire css et un r\u00e9pertoire images.<\/b><\/p>\n<pre lang=\"php\" escaped=\"true\">\r\n\t\r\n\t&lt;?php\r\n\t\/*\r\n\tPlugin Name: he3adminsettings\r\n\tPlugin URI: http:\/\/www.hecube.net\r\n\tDescription: enable to change the login page\r\n\tVersion: 1.0.0\r\n\tAuthor: bruno@hecube.net\r\n\tAuthor URI: http:\/\/www.hecube.net\r\n\tLicense: GPLv2\r\n\r\n\t\tCopyright (c) 2011 hecube.net (http:\/\/hecube.net)\r\n\t\the3adminsettings is released under the GNU General Public License (GPL)\r\n\t\thttp:\/\/www.gnu.org\/licenses\/gpl-2.0.txt\r\n\r\n\t*\/\r\n\r\n\t\/* Change the CSS for the admin *\/\r\n\t\tfunction he3_custom_admin_head() {\r\n\t\t\techo \"n\";\r\n\t        \techo '&lt;link rel=\"stylesheet\" type=\"text\/css\" href=\"' .plugins_url('css\/he3wpadmin.css', __FILE__). '\"&gt;';\r\n\techo \"n\";\r\n\t\t}\/\/EOF\r\n\t\tadd_action('admin_head', 'he3_custom_admin_head');\r\n\r\n\r\n\t\tfunction he3_custom_login_page() {\r\n\t\t\techo \"n\";\r\n\t    \techo '&lt;link rel=\"stylesheet\" type=\"text\/css\" href=\"' .plugins_url('css\/he3wploginpage.css', __FILE__). '\"&gt;';\r\n\t\t\techo \"n\";\r\n\t\t}\/\/EOF\r\n\t\tadd_action('login_head', 'he3_custom_login_page');\r\n\r\n\t\tfunction he3_custom_login_page_site_url (){\r\n\t\t\t\treturn home_url();  \/\/ The url\r\n\t\t}\/\/EOF\r\n\t\t\tadd_filter('login_headerurl', 'he3_custom_login_page_site_url');\r\n\r\n\r\n\t\tfunction he3_custom_login_page_site_url_title (){\r\n\t\t\treturn \"The alt msg on the logo\"; \/\/ The alt msg\r\n\t\t}\/\/EOF\r\n\t\tadd_filter('login_headertitle', 'he3_custom_login_page_site_url_title');\r\n\r\n\r\n\t?&gt;\r\n<\/pre>\n<p><b>Les deux CSS du repertoire <code>css<\/code>, <code>he3wploginpage.css<\/code> et <code>he3wpadmin.css<\/code><\/b><\/p>\n<p><i>he3wploginpage.css<\/i><\/p>\n<pre lang=\"css\">\r\n\t\/* he3wploginpage.css *\/\r\n\thtml,\r\n\tbody {\r\n\t\theight:100%;\r\n\t\/*\tbackground-image: url(..\/images\/bg_night_hunter.png);*\/\r\n\t\t\/*background-image: url(..\/images\/bgsite.jpg);*\/\r\n\t}\r\n\r\n\t#login {\r\n\t\t-webkit-border-radius:5px;\r\n\t\t-khtml-border-radius:5px;\r\n\t\t-moz-border-radius:5px;\r\n\t\tborder-radius:5px;\r\n\t\t-webkit-box-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px;\r\n\t\t-khtml-box-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px;\r\n\t\t-moz-box-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px;\r\n\t\tbox-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px;\r\n\t\tpadding-bottom:20px;\r\n\t}\r\n\r\n\t#loginform,\r\n\t#lostpasswordform,\r\n\t#registerform {\r\n\t\t-khtml-box-shadow:none;\r\n\t\t-webkit-box-shadow:none;\r\n\t\t-moz-box-shadow:none;\r\n\t\tbox-shadow:none;\r\n\t\t-webkit-border-radius:0;\r\n\t\t-khtml-border-radius:0;\r\n\t\t-moz-border-radius:0;\r\n\t\tborder-radius:0;\r\n\t\tborder:none;\r\n\t\tbackground:transparent;\r\n\t\tmargin:0;\r\n\t}\r\n\r\n\t#login h1 a {\r\n\t\t\/*background:transparent;*\/\r\n\t\tbackground-image: url(..\/images\/logo-login.png) !important;\r\n\t}\r\n\r\n\t#login h1 a {\r\n\t\twidth:312px;\r\n\t\theight:91px;\r\n\t\tmargin-left:7px;\r\n\t\tborder-radius:3px;\r\n\t\tmargin-bottom:10px;\r\n\t}\r\n\r\n\t.message {\r\n\t\tcolor:#000;\r\n\t\twidth:275px;\r\n\t}\r\n<\/pre>\n<p><i>he3wpadmin.css<\/i><\/p>\n<pre lang=\"css\">\r\n\t\r\n\t\/* he3wpadmin.css *\/\r\n\t#header-logo { \r\n\t\tbackground-image: url(..\/images\/logo-admin.png) !important;\r\n\t\twidth:45px;\r\n\t\theight:21px; \r\n\t\t}\r\n\r\n\t\r\n<\/pre>\n<p><b>Activation des 2 plugins<\/b><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2011\/12\/wp_restricted_manage_user_1.jpg\" alt=\"Wordpress, Administration, Personnalisation - Personnaliser l'administration de WordPress \u00e0 l'aide de plugins\" width=\"500\" height=\"265\" \/><\/p>\n<p><b>Le r\u00e9sultat de <code>he3adminsettings<\/code><\/b><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2011\/12\/wp_restricted_manage_user_2.jpg\" alt=\"Wordpress, Administration, Personnalisation - Personnaliser l'administration de WordPress \u00e0 l'aide de plugins\" width=\"500\" height=\"265\" \/><\/p>\n<h4>Ins\u00e9rer un widget sur la tableau de bord<\/h4>\n<p>Par d\u00e9faut, ce widget de tableau de bord s&#8217;affichera tout en haut \u00e0 moins que l&#8217;utilisateur ne r\u00e9organise ses widgets. Ce wigdet n&#8217;affiche pour le moment qu&#8217;un texte bateau, libre \u00e0 vous de l&#8217;agr\u00e9menter de plus d&#8217;\u00e9l\u00e9ments.<\/p>\n<p><b>Le r\u00e9sultat de <code>he3dashboardwidget<\/code><\/b><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2011\/12\/wp_restricted_manage_user_3.jpg\" alt=\"Wordpress, Administration, Personnalisation - Personnaliser l'administration de WordPress \u00e0 l'aide de plugins\" width=\"500\" height=\"265\" \/><\/p>\n<p><b>Le code source du plugin <code>he3dashboardwidget<\/code><\/b><\/p>\n<pre lang=\"php\" escaped=\"true\">\r\n\t&lt;?php\r\n\t\/*\r\n\tPlugin Name: he3dashboardwidget\r\n\tPlugin URI: http:\/\/hecube.net\r\n\tDescription: Add a dashboard widget on top position\r\n\tVersion: 1.0\r\n\tAuthor: Bruno Flaven\r\n\tAuthor URI: http:\/\/hecube.net\r\n\tLicense: GPL2\r\n\t*\/\r\n\t\/*\r\n\thttp:\/\/codex.wordpress.org\/Dashboard_Widgets_API\r\n\thttp:\/\/theme.it\/an-in-depth-look-at-the-dashboard-widgets-api\/\r\n\t*\/\r\n\r\n\t\/\/ Create the function to output the contents of our Dashboard Widget\r\n\r\n\tfunction example_dashboard_widget_function() {\r\n\t\t\/\/ Display whatever it is you want to show\r\n\t\techo \"Hello World, I'm a great Dashboard Widget\";\r\n\t} \r\n\r\n\r\n\tfunction example_add_dashboard_widgets () {\r\n\t\twp_add_dashboard_widget('example_dashboard_widget', 'Example Dashboard Widget', 'example_dashboard_widget_function');\r\n\r\n\t\t\/\/ Globalize the metaboxes array, this holds all the widgets for wp-admin\r\n\t\tglobal $wp_meta_boxes;\r\n\r\n\t\t\/\/ Get the regular dashboard widgets array \r\n\t\t\/\/ (which has our new widget already but at the end)\r\n\r\n\t\t$normal_dashboard = $wp_meta_boxes['dashboard']['normal']['core'];\r\n\r\n\t\t\/\/ Backup and delete our new dashbaord widget from the end of the array\r\n\r\n\t\t$example_widget_backup = array('example_dashboard_widget' =&gt; $normal_dashboard['example_dashboard_widget']);\r\n\t\tunset($normal_dashboard['example_dashboard_widget']);\r\n\r\n\t\t\/\/ Merge the two arrays together so our widget is at the beginning\r\n\r\n\t\t$sorted_dashboard = array_merge($example_widget_backup, $normal_dashboard);\r\n\r\n\t\t\/\/ Save the sorted array back into the original metaboxes \r\n\r\n\t\t$wp_meta_boxes['dashboard']['normal']['core'] = $sorted_dashboard;\r\n\t}\r\n\r\n\t\/\/ Hook into the 'wp_dashboard_setup' action to register our other functions\r\n\r\n\tadd_action('wp_dashboard_setup', 'example_add_dashboard_widgets' );\r\n\r\n\r\n\t?&gt;\r\n<\/pre>\n<h4>Les plugins de gestion des acc\u00e8s utilisateur<\/h4>\n<p>Il existe un floril\u00e8ge de plugins permettant de contr\u00f4ler les acc\u00e8s des utilisateurs \u00e0 votre site sous WP notamment dans certains cas de contr\u00f4ler jusqu&#8217;aux widgets que l\u2019utilisateur est susceptible de voir.<br \/>\nEn voici quelques-uns, notamment l&#8217;excellent <code>Advanced Access Manager<\/code>.<\/p>\n<ul>\n<li>Advanced Access Manager<br \/><a href=\"http:\/\/wordpress.org\/extend\/plugins\/advanced-access-manager\/\" target=\"_blank\">http:\/\/wordpress.org\/extend\/plugins\/advanced-access-manager\/<\/a><\/li>\n<li>Allow Multiple Accounts<br \/>\n\t<a href=\"http:\/\/wordpress.org\/extend\/plugins\/allow-multiple-accounts\/\" target=\"_blank\">http:\/\/wordpress.org\/extend\/plugins\/allow-multiple-accounts\/<\/a><\/li>\n<li>Restrict Categories<br \/>\n\t<a href=\"http:\/\/wordpress.org\/extend\/plugins\/restrict-categories\/\" target=\"_blank\">http:\/\/wordpress.org\/extend\/plugins\/restrict-categories\/<\/a><\/li>\n<li>Role Scoper<br \/>\n\t<a href=\"http:\/\/wordpress.org\/extend\/plugins\/role-scoper\/\" target=\"_blank\">http:\/\/wordpress.org\/extend\/plugins\/role-scoper\/<\/a><\/li>\n<li>User Registration Approval<br \/>\n\t<a href=\"http:\/\/picklewagon.com\/wordpress\/new-user-approve\/\" target=\"_blank\">http:\/\/picklewagon.com\/wordpress\/new-user-approve\/<\/a><\/li>\n<li>WordPress Access Control<br \/>\n\t<a href=\"http:\/\/allankent.co.za\/2009\/06\/category-restriction-for-wordpress\/\" target=\"_blank\">http:\/\/allankent.co.za\/2009\/06\/category-restriction-for-wordpress\/<\/a><\/li>\n<\/ul>\n<h2>En savoir plus<\/h2>\n<ul>\n\t<!-- Dashboard --><\/p>\n<li>Dashboard Widgets API<br \/>\n\t<a href=\"http:\/\/codex.wordpress.org\/Dashboard_Widgets_API\" target=\"_blank\">http:\/\/codex.wordpress.org\/Dashboard_Widgets_API<\/a><\/li>\n<li>An In-Depth Look at the Dashboard Widgets API<br \/>\n\t<a href=\"http:\/\/theme.it\/an-in-depth-look-at-the-dashboard-widgets-api\/\" target=\"_blank\">http:\/\/theme.it\/an-in-depth-look-at-the-dashboard-widgets-api\/<\/a><\/li>\n<li>How to Customize the WordPress Admin Area<br \/>\n\t<a href=\"http:\/\/sixrevisions.com\/wordpress\/how-to-customize-the-wordpress-admin-area\/\" target=\"_blank\">http:\/\/sixrevisions.com\/wordpress\/how-to-customize-the-wordpress-admin-area\/<\/a><\/li>\n<li>Learning WordPress: Most Useful Tips and Tutorials<br \/>\n\t<a href=\"http:\/\/www.smashingmagazine.com\/learning-wordpress-useful-wordpress-tips-tutorials\/\" target=\"_blank\">http:\/\/www.smashingmagazine.com\/learning-wordpress-useful-wordpress-tips-tutorials\/<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Si vous \u00eates amen\u00e9 \u00e0 utiliser WordPress pour le compte d&#8217;un client, il vous faudra certainement personnaliser l&#8217;outil d&#8217;administration, cela peut aussi faire parti d&#8217;une&hellip; <\/p>\n<p class=\"text-center\"><a href=\"https:\/\/flaven.fr\/2011\/12\/wordpress-administration-personnalisation-personnaliser-ladministration-de-wordpress-a-laide-de-plugins\/\" class=\"more-link\">Continue reading &rarr; <span class=\"screen-reader-text\">WordPress, Administration, Personnalisation &#8211; Personnaliser l&#8217;administration de WordPress \u00e0 l&#8217;aide de plugins<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":9410,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"bf_ai_meta_description":"Personnalisez l\u2019administration WordPress avec des plugins. Ajoutez un logo sur la page de login et un widget sur le dashboard pour une exp\u00e9rience utilisateur optimis\u00e9e.","bf_ai_og_title":"Personnaliser l\u2019administration WordPress","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[3454,3444,3445,3447,3448,3449,3451,3435,3452],"tags":[419,2221,2211,20,126,2198,2223],"class_list":["post-2078","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-journalism-writing","category-programming-databases","category-seo-web-marketing","category-technology-trends","category-tools-productivity","category-tutorials-how-to","category-web-design-front-end","category-web-development","category-wordpress-cms","tag-administration","tag-cms","tag-mysql","tag-php","tag-theme","tag-webdesign-responsive-agile","tag-wordpress"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p3Vuhl-xw","jetpack_featured_media_url":"https:\/\/flaven.fr\/wp-content\/uploads\/2011\/12\/wp_logo_generic2_bf.jpg","_links":{"self":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/2078","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/comments?post=2078"}],"version-history":[{"count":1,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/2078\/revisions"}],"predecessor-version":[{"id":9411,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/2078\/revisions\/9411"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/media\/9410"}],"wp:attachment":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/media?parent=2078"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/categories?post=2078"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/tags?post=2078"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}