{"id":456,"date":"2010-05-28T16:25:41","date_gmt":"2010-05-28T22:25:41","guid":{"rendered":"http:\/\/wordcampchicago.com\/?p=456"},"modified":"2011-05-17T19:16:02","modified_gmt":"2011-05-18T00:16:02","slug":"speaker-spotlight-jake-goldman-hijacking-wordpress-administration","status":"publish","type":"post","link":"https:\/\/chicago.wordcamp.org\/2011\/speaker-spotlight-jake-goldman-hijacking-wordpress-administration\/","title":{"rendered":"Speaker Spotlight: Jake Goldman &#8211; Hijacking WordPress Administration"},"content":{"rendered":"<p>As developers, most of us know how to tailor the front end of WordPress to our clients&#8217; or users&#8217; hearts&#8217; desires. The real WordPress Ninjas know how to <strong>refine the part most visitors never see \u2013 the back end \u2013 for the individual client or project.<\/strong> Inspired partly by <a href=\"http:\/\/www.smashingmagazine.com\/2009\/12\/14\/advanced-power-tips-for-wordpress-template-developers-reloaded\/\" target=\"_blank\">one of my more popular Smashing Magazine articles<\/a>, this session \u2013 a WordCamp Chicago debut \u2013 offers even more tips for customizing WordPress admin.<\/p>\n<p>We\u2019ll dive right into the default theme\u2019s <em>functions.php<\/em> script, where we\u2019ll review specific API hooks, techniques, and tricks for customizing the WordPress admin to reflect your brand or simply reduce the noise. No forking of core code and <strong>no plug-ins involved<\/strong>.<\/p>\n<p><strong>Are you a consulting agency that wants to emphasize your brand?<\/strong> Learn how to replace the WordPress logo in the header and login screen, change the credits \/ thank you notes in the footer, and replace the WordPress news feeds in the dashboard with your own agency\u2019s news feed.<\/p>\n<p><strong>Does your client get easily confused or overwhelmed?<\/strong> Add additional contextual help inside the &#8220;help&#8221; tab on individual admin pages. Remove unnecessary default sidebar widgets. Strip down the post and page editing screen widgets (like the custom field editor) based on the user role. Customize the styling of the WYSIWYG editor to better reflect the styling of posts and pages on the front end. Remove unneeded WYSIWYG buttons. Add some common buttons back.<\/p>\n<p><strong>Wish &#8220;Posts&#8221; were called &#8220;Articles&#8221; in the admin menu?<\/strong> Learn how to override a few translation strings without creating an entire translations file.<\/p>\n<p>Note that for time and focus reasons, we won\u2019t be covering adding new content types or content meta within the site admin (custom post types, taxonomies, custom meta boxes). Combine this session with one of the other sessions covering new content types \/ content meta features and you\u2019ll be building awesome WordPress sites tailored to individual clients&#8217; administrative needs in no time!<\/p>\n<p>Questions about this session? Is there an admin customization tip you want to see covered? Reach out to me on Twitter: <a href=\"http:\/\/www.twitter.com\/jakemgold\">@jakemgold<\/a><\/p>\n<div style=\"width: 1px; height: 1px; overflow: hidden;\"><!--[if gte mso 9]&gt;  14.00     &lt;![endif]--><!--[if gte mso 9]&gt;  Normal 0     false false false  EN-US X-NONE X-NONE                         &lt;![endif]--><!--[if gte mso 9]&gt;                                                                                                                                            &lt;![endif]--><!--  \/* Font Definitions *\/  @font-face \t{font-family:Calibri; \tpanose-1:2 15 5 2 2 2 4 3 2 4; \tmso-font-charset:0; \tmso-generic-font-family:swiss; \tmso-font-pitch:variable; \tmso-font-signature:-520092929 1073786111 9 0 415 0;}  \/* Style Definitions *\/  p.MsoNormal, li.MsoNormal, div.MsoNormal \t{mso-style-unhide:no; \tmso-style-qformat:yes; \tmso-style-parent:\"\"; \tmargin-top:0in; \tmargin-right:0in; \tmargin-bottom:10.0pt; \tmargin-left:0in; \tline-height:115%; \tmso-pagination:widow-orphan; \tfont-size:11.0pt; \tfont-family:\"Calibri\",\"sans-serif\"; \tmso-ascii-font-family:Calibri; \tmso-ascii-theme-font:minor-latin; \tmso-fareast-font-family:Calibri; \tmso-fareast-theme-font:minor-latin; \tmso-hansi-font-family:Calibri; \tmso-hansi-theme-font:minor-latin; \tmso-bidi-font-family:\"Times New Roman\"; \tmso-bidi-theme-font:minor-bidi;} a:link, span.MsoHyperlink \t{mso-style-priority:99; \tcolor:blue; \tmso-themecolor:hyperlink; \ttext-decoration:underline; \ttext-underline:single;} a:visited, span.MsoHyperlinkFollowed \t{mso-style-noshow:yes; \tmso-style-priority:99; \tcolor:purple; \tmso-themecolor:followedhyperlink; \ttext-decoration:underline; \ttext-underline:single;} .MsoChpDefault \t{mso-style-type:export-only; \tmso-default-props:yes; \tfont-family:\"Calibri\",\"sans-serif\"; \tmso-ascii-font-family:Calibri; \tmso-ascii-theme-font:minor-latin; \tmso-fareast-font-family:Calibri; \tmso-fareast-theme-font:minor-latin; \tmso-hansi-font-family:Calibri; \tmso-hansi-theme-font:minor-latin; \tmso-bidi-font-family:\"Times New Roman\"; \tmso-bidi-theme-font:minor-bidi;} .MsoPapDefault \t{mso-style-type:export-only; \tmargin-bottom:10.0pt; \tline-height:115%;} @page WordSection1 \t{size:8.5in 11.0in; \tmargin:1.0in 1.0in 1.0in 1.0in; \tmso-header-margin:.5in; \tmso-footer-margin:.5in; \tmso-paper-source:0;} div.WordSection1 \t{page:WordSection1;} --><!--[if gte mso 10]&gt; &lt;!   \/* Style Definitions *\/  table.MsoNormalTable \t{mso-style-name:&quot;Table Normal&quot;; \tmso-tstyle-rowband-size:0; \tmso-tstyle-colband-size:0; \tmso-style-noshow:yes; \tmso-style-priority:99; \tmso-style-parent:&quot;&quot;; \tmso-padding-alt:0in 5.4pt 0in 5.4pt; \tmso-para-margin-top:0in; \tmso-para-margin-right:0in; \tmso-para-margin-bottom:10.0pt; \tmso-para-margin-left:0in; \tline-height:115%; \tmso-pagination:widow-orphan; \tfont-size:11.0pt; \tfont-family:&quot;Calibri&quot;,&quot;sans-serif&quot;; \tmso-ascii-font-family:Calibri; \tmso-ascii-theme-font:minor-latin; \tmso-hansi-font-family:Calibri; \tmso-hansi-theme-font:minor-latin; \tmso-bidi-font-family:&quot;Times New Roman&quot;; \tmso-bidi-theme-font:minor-bidi;} --> <!--[endif]--><\/p>\n<p class=\"MsoNormal\">As developers, most of us know how to tailor the front end of WordPress to our clients\u2019 or users\u2019 hearts desires. The real WordPress ninja\u2019s know how to refine the part most visitors never see \u2013 the backend \u2013 for the individual client or project. Inspired partly by <a href=\"http:\/\/www.smashingmagazine.com\/2009\/12\/14\/advanced-power-tips-for-wordpress-template-developers-reloaded\/\">one of my more popular Smashing Magazine articles<\/a>, this session \u2013 a WordCamp Chicago debut \u2013 offers even more tips for customizing WordPress admin.<\/p>\n<p class=\"MsoNormal\">After a quick overview, we\u2019ll dive right into the default theme\u2019s <em>functions.php<\/em> code, where we\u2019ll review specific API hooks, techniques, and tricks for customizing the WordPress admin to reflect <em>your<\/em> brand or simply reduce the noise. No forking of core code and no plug-ins involved.<\/p>\n<p class=\"MsoNormal\">Are you a consulting agency that wants to emphasize your brand? Learn how to replace the WordPress logo in the header and login screen, change the credits \/ thank you notes in the footer, and replace the WordPress news feeds in the dashboard with your own agency\u2019s news feed.<\/p>\n<p class=\"MsoNormal\">Does your client get easily confused? Add additional contextual help inside the \u201chelp\u201d tab based on the admin page. Remove unnecessary default sidebar widgets. Strip down the post and page editing screen widgets (like the custom field editor) based on the user role. Customize the styling of the WYSIWYG editor to better reflect the styling of posts and pages on the front end. Remove unneeded WYSIWYG buttons. Add some common buttons back.<\/p>\n<p class=\"MsoNormal\">Wish \u201cPosts\u201d were called \u201cArticles\u201d in the admin menu? Learn how to override a few translation strings without creating an entire translations file.<\/p>\n<p class=\"MsoNormal\">Note that for time and focus reasons, we won\u2019t be covering adding new <em>content<\/em> <em>functionality<\/em> to the site admin (custom post types, taxonomies, custom meta boxes). Combine this session with one of the other sessions covering new content types \/ content meta features and you\u2019ll be building awesome WordPress sites tailored to individual clients\u2019 administrative needs in no time!<\/p>\n<p><span>Questions about this session? Is there an admin customization tip <em>you<\/em> want to see covered? You can reach me on Twitter: <a href=\"http:\/\/www.twitter.com\/jakemgold\">@jakemgold<\/a><\/span><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>As developers, most of us know how to tailor the front end of WordPress to our clients&#8217; or users&#8217; hearts&#8217; desires. The real WordPress Ninjas know how to refine the part most visitors never see \u2013 the back end \u2013 &hellip; <a href=\"https:\/\/chicago.wordcamp.org\/2011\/speaker-spotlight-jake-goldman-hijacking-wordpress-administration\/\">Continue reading <span class=\"screen-reader-text\">Speaker Spotlight: Jake Goldman &#8211; Hijacking WordPress Administration<\/span>  <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":3037239,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"footnotes":""},"categories":[12,53,29,5413],"tags":[5418,5420,5422,5430,282,5439,5440,5466,5015,25,418478],"class_list":["post-456","post","type-post","status-publish","format-standard","hentry","category-announcements","category-blog","category-speakers","category-wcchicago-2010","tag-admin","tag-administration","tag-api","tag-c-murray-consulting","tag-coding","tag-customization","tag-dashboard","tag-jake-goldman","tag-speaker","tag-wordcamp","tag-wordpress"],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1v9vU-7m","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/chicago.wordcamp.org\/2011\/wp-json\/wp\/v2\/posts\/456","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/chicago.wordcamp.org\/2011\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/chicago.wordcamp.org\/2011\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/chicago.wordcamp.org\/2011\/wp-json\/wp\/v2\/users\/3037239"}],"replies":[{"embeddable":true,"href":"https:\/\/chicago.wordcamp.org\/2011\/wp-json\/wp\/v2\/comments?post=456"}],"version-history":[{"count":2,"href":"https:\/\/chicago.wordcamp.org\/2011\/wp-json\/wp\/v2\/posts\/456\/revisions"}],"predecessor-version":[{"id":1154,"href":"https:\/\/chicago.wordcamp.org\/2011\/wp-json\/wp\/v2\/posts\/456\/revisions\/1154"}],"wp:attachment":[{"href":"https:\/\/chicago.wordcamp.org\/2011\/wp-json\/wp\/v2\/media?parent=456"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/chicago.wordcamp.org\/2011\/wp-json\/wp\/v2\/categories?post=456"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chicago.wordcamp.org\/2011\/wp-json\/wp\/v2\/tags?post=456"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}