SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
IMPROVING EASE OF USE WITH
WORDPRESS ADMIN DASHBOARD
OVERVIEW


1.   User Roles.
2.   The Login Screen.
3.   The Dashboard.
4.   The Content Editor.
5.   Other
USER ROLES


- Create a “clean” admin account
- Set-up the main user as an editor
- Use the current_user_can() function:

    if ( !current_user_can( 'administrator' ) ) {
        //do something awesome here
    }
THE LOGIN




Hook: login_head
THE DASHBOARD

Tidy up...

-Does the client need this item?
-Will the client use this item?
-Is this item an enhancement?
THE DASHBOARD




Hook: wp_dashboard_setup
// Globalise the Meta Box Widgets Array
global $wp_meta_boxes;
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
THE DASHBOARD
THE DASHBOARD
THE DASHBOARD
                Hook: admin_menu
                // Globalise the Menu Array
                global $menu;
                ...
                unset( $menu[key($menu)] );
                ...
THE DASHBOARD
                // Add Theme Editing Capabilities
                $role_object = get_role( 'editor' );
                $role_object-add_cap( 'edit_theme_options' );
THE DASHBOARD
                Hook: admin_head
                // Globalise the Submenu Array
                global $submenu;
                ...
                unset( $submenu['themes.php'][7] );
                ...
THE CONTENT EDITOR
THE CONTENT EDITOR
                     Hook: admin_head
                     ...
                     style
                     #edit-slug-box strong,
                     #sample-permalink,
                     #edit-slug-buttons
                     {display:none;}
                     /style
                     ...
THE CONTENT EDITOR
THE CONTENT EDITOR
THE CONTENT EDITOR




Hook: tiny_mce_before_init
// Force paste as plain text
...
$init['oninit'] = 'setPlainText';
THE CONTENT EDITOR
THE CONTENT EDITOR
THE CONTENT EDITOR




Hook: admin_init
// Add custom meta box
add_meta_box( $id, $title, $callback, ... );
THE CONTENT EDITOR
THE CONTENT EDITOR
THE CONTENT EDITOR


// render any shortcode and convert new lines to break
nl2br( $string ) # retains line breaks
do_shortcode( $content ) # applies any shortcode(s) in
$content

...
$meta = nl2br( get_post_meta( $postid, $field, $single =
true ) );
return do_shortcode($meta);
...
THE CONTENT EDITOR
THE CONTENT EDITOR




Filter: widget_text
// render any shortcode in widgets.
add_filter('widget_text', 'do_shortcode');
OTHER CONSIDERATIONS
OTHER CONSIDERATIONS
Allow for Errors
a href=facebook.comFacebook/a !-- Will return an error --

// http://www.facebook.com, www.facebook.com, facebook.com will
all work.
if( strpos( $url, 'http://' ) === false )
  return 'http://' . $url;
else
  return $url
...


Consider creating a plugin
CONCLUSION




 If it is difficult to update, it won’t get updated.
~fin...

Más contenido relacionado

Más de WordCamp Cape Town

Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!WordCamp Cape Town
 
Neil Pursey - Is Social Media affecting SEO
Neil Pursey - Is Social Media affecting SEONeil Pursey - Is Social Media affecting SEO
Neil Pursey - Is Social Media affecting SEOWordCamp Cape Town
 
Steve Barnet - Device lab - 3min pitch
Steve Barnet - Device lab - 3min pitchSteve Barnet - Device lab - 3min pitch
Steve Barnet - Device lab - 3min pitchWordCamp Cape Town
 
WordPress as a CMS – Why and How
WordPress as a CMS – Why and HowWordPress as a CMS – Why and How
WordPress as a CMS – Why and HowWordCamp Cape Town
 
Neil pursey Yoast’s SEO plugin for WordPress
Neil pursey Yoast’s SEO plugin for WordPressNeil pursey Yoast’s SEO plugin for WordPress
Neil pursey Yoast’s SEO plugin for WordPressWordCamp Cape Town
 
Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)WordCamp Cape Town
 
Matt geri (mobile as publishing platform)
Matt geri (mobile as publishing platform)Matt geri (mobile as publishing platform)
Matt geri (mobile as publishing platform)WordCamp Cape Town
 
Jess green (get the wordpress relationship working)
Jess green (get the wordpress relationship working)Jess green (get the wordpress relationship working)
Jess green (get the wordpress relationship working)WordCamp Cape Town
 
Fred roed (what a 60’s rock n’ roll band can teach us about online publishing)
Fred roed (what a 60’s rock n’ roll band can teach us about online publishing)Fred roed (what a 60’s rock n’ roll band can teach us about online publishing)
Fred roed (what a 60’s rock n’ roll band can teach us about online publishing)WordCamp Cape Town
 
Ashley Shaw (Scaling WordPress)
Ashley Shaw (Scaling WordPress)Ashley Shaw (Scaling WordPress)
Ashley Shaw (Scaling WordPress)WordCamp Cape Town
 
Rafiq phillips (seo fundamentalism)
Rafiq phillips (seo fundamentalism)Rafiq phillips (seo fundamentalism)
Rafiq phillips (seo fundamentalism)WordCamp Cape Town
 

Más de WordCamp Cape Town (15)

Fred Roed - Cause
Fred Roed - CauseFred Roed - Cause
Fred Roed - Cause
 
Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!
 
Neil Pursey - Is Social Media affecting SEO
Neil Pursey - Is Social Media affecting SEONeil Pursey - Is Social Media affecting SEO
Neil Pursey - Is Social Media affecting SEO
 
Steve Barnet - Device lab - 3min pitch
Steve Barnet - Device lab - 3min pitchSteve Barnet - Device lab - 3min pitch
Steve Barnet - Device lab - 3min pitch
 
WordPress as a CMS – Why and How
WordPress as a CMS – Why and HowWordPress as a CMS – Why and How
WordPress as a CMS – Why and How
 
Neil pursey Yoast’s SEO plugin for WordPress
Neil pursey Yoast’s SEO plugin for WordPressNeil pursey Yoast’s SEO plugin for WordPress
Neil pursey Yoast’s SEO plugin for WordPress
 
Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)
 
Making money with WordPress
Making money with WordPressMaking money with WordPress
Making money with WordPress
 
The future of WordPress
The future of WordPressThe future of WordPress
The future of WordPress
 
Matt geri (mobile as publishing platform)
Matt geri (mobile as publishing platform)Matt geri (mobile as publishing platform)
Matt geri (mobile as publishing platform)
 
Jess green (get the wordpress relationship working)
Jess green (get the wordpress relationship working)Jess green (get the wordpress relationship working)
Jess green (get the wordpress relationship working)
 
Fred roed (what a 60’s rock n’ roll band can teach us about online publishing)
Fred roed (what a 60’s rock n’ roll band can teach us about online publishing)Fred roed (what a 60’s rock n’ roll band can teach us about online publishing)
Fred roed (what a 60’s rock n’ roll band can teach us about online publishing)
 
Ashley Shaw (Scaling WordPress)
Ashley Shaw (Scaling WordPress)Ashley Shaw (Scaling WordPress)
Ashley Shaw (Scaling WordPress)
 
David Perel About Obox
David Perel About OboxDavid Perel About Obox
David Perel About Obox
 
Rafiq phillips (seo fundamentalism)
Rafiq phillips (seo fundamentalism)Rafiq phillips (seo fundamentalism)
Rafiq phillips (seo fundamentalism)
 

Último

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 

Último (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 

Byron Rode (improving ease of use with the word press admin)