SlideShare a Scribd company logo
Content Management System
WordPress As  Content Management System Setyagus Sucipto iCreativeLabs Studio WordCamp Indonesia 2010
The Idea WordCamp Indonesia 2010
A  content management system  (CMS) is software that makes it easy for non-techies to organize and manage web content.
Simple and easy for manage Hide the complicated code and algorithm  Automated templates Easily editable content Scalable feature sets Web standards upgrades User role Workflow management Content Management System Capabilities
WordPress lets you create pages (stand alone content) and posts . Automated template. Easy for editable content. Easy Plugin for plug and play (scalable) Automatic upgrade Workflow management Framework  WordPress  What WordPress have and provide?
User role for limited access Not hide complicated code  WordPress  What WordPress not have?
User Role  Short Tags  Create Simple Organized Menu For User Hide complicated admin panel  Hide complicated tags (postmeta and customfield) What User Need
WordCamp Indonesia 2010 Implementation
Use Plugin API/Action References Use Plugin API/Filter References Create Bridges for plugin that we want to modified  Never Touch the WordPress core  What We Do
For Remove Control Meta remove_meta_box Add New Control Meta  add_meta_box Hook An Action  add_action WordPress  Plugin API
function post_categories_meta_box_($post) { global $wp_query, $current_user_roles;  ?> <div id=&quot;categories-all&quot; class=&quot;tabs-panel&quot;> <ul id=&quot;categorychecklist&quot; class=&quot;list:category categorychecklist form-no-clear&quot;> <?php  $childOf = ''; foreach($current_user_roles as $role){ $childOf .= $childOf == '' ? $role: ','.$role; }  wp_category_checklist_($post->ID, '&include='.$childOf, false, $popular_ids) ?> </ul> </div>  <?php  } } require_once('../wp-admin/includes/template.php'); remove_meta_box('categorydiv','post','normal'); remove_meta_box('postcustom','post','normal'); add_meta_box('categorydiv2', __('Categories'), 'post_categories_meta_box_', 'post', 'side', 'core'); Sample Code  Plugin API – Modified Categories Listing
It’s will simple for modified Simple for upgrade  We just adding what we need Bridges The Plugin  Make the plugin like you need
User have limited access to each category User only can post to specific categories Prevent user for make changes the post that not related with his privileges User Role
User Role Screenshot
User Role Implementation
Hide complicated things in simple tags User don’t need to know php code and html Put the complicated tags with 3 steps (open tags – content – close tags)  Short Tags
/* function.php at the themes folder */ <?php function quoteTheText($quote){ return ‘<div class=“redq”>’.$quote.’</redq>’; } function add_shortcode(‘quotetext’,’quotethetext’); ?> Short Tags Sample Code
Short Tags Implement
Menu Simple and Organized VS
Use adminized plugin for hide the backend panel  Create simple menu and organized  Create specific post form for user Hide the custom field Just show what user need Hide complicated admin panel
Organized what menu that user want Add  new parent menu using  add_menu_page Add new sub menu page using  add_submenu_page Create Simple Menu
/* function.php at the themes folder */ add_menu_page($config['themename'].' Options', $config['themename'], 'level_7', 'icl/index', 'icl_noop'); add_submenu_page('icl/index', 'Configuration Options', 'Configuration', 'administrator', 'icl/configuration', 'icl_noop'); add_submenu_page('icl/index', 'Role Options', 'User Role', 'administrator', 'user_role/index', 'icl_noop'); if (current_user_can('manage_options') || $icl_utility->is_can_access_category($icl_utility->get_option('general', 'category_video_news', array('option_value'), FALSE, TRUE))) { add_submenu_page('icl/index', 'Movie Options', 'Movie', 'level_7', 'movie/index', 'icl_noop'); } if (current_user_can('manage_options') || $icl_utility->is_can_access_category($icl_utility->get_option('general', 'category_kontes', array('option_value'), FALSE, TRUE))) { add_submenu_page('icl/index', 'Daftar User Submit', 'Daftar User Submit', 'level_7', 'submission', 'icl_noop'); } add_submenu_page('icl/index', 'Banner Options', 'Banner', 'administrator', 'banner/index', 'icl_noop'); Sample Code
Simple Menu The Result
Modified Form To Post
$wpdb->query($sqlPost); $post_id = $wpdb->insert_id; if (intval($post_id) > 0) { if ($data['movie_source'] == 1) { add_post_meta($post_id, 'movie', WPICL_MOVIE_URL . $data['movie_file'], TRUE); } add_post_meta($post_id, 'movie_image', (($data['image_file'] != '') ? WPICL_IMAGE_URL . $data['image_file'] : get_bloginfo('stylesheet_directory') . '/images/logo-register.png'), TRUE); $sql = 'INSERT INTO '.$wpdb->term_relationships; $sql .= ' (object_id, term_taxonomy_id) VALUES ('.$post_id.', '.$data['movie_category'].')'; $sql = mysql_real_escape_string($sql); $wpdb->query($sql); } Post Sample Code
WordPress it’s be simple for modified  Hide all the complicated thing and just show the end user need In Review
Thank  You

More Related Content

PDF
Building scalable products with WordPress - WordCamp London 2018
KEY
A Brief Introduction to JQuery Mobile
PPT
Slimme Joomla! Templating Tips en Truuks
PPTX
Web development today
PPTX
Childthemes ottawa-word camp-1919
ZIP
Presentation.Key
PDF
7 reasons why developers should love Joomla!
PPT
Clever Joomla! Templating Tips and Tricks
Building scalable products with WordPress - WordCamp London 2018
A Brief Introduction to JQuery Mobile
Slimme Joomla! Templating Tips en Truuks
Web development today
Childthemes ottawa-word camp-1919
Presentation.Key
7 reasons why developers should love Joomla!
Clever Joomla! Templating Tips and Tricks

What's hot (20)

PPT
jQuery Performance Rules
PDF
devise tutorial - 2011 rubyconf taiwan
PPTX
18.register login
PPTX
Using WordPress as your application stack
PPT
07 Php Mysql Update Delete
KEY
Keeping It Simple
PPT
06 Php Mysql Connect Query
PDF
Count to 10 and Say Yes
ODP
HTML::FormHandler
DOC
20110820 header new style
TXT
PDF
Be happy with Ruby on Rails - CEUNSP Itu
PDF
Dicas de palestra
PPT
Introduction to ZendX jQuery
PPTX
Twitter bootstrap
PPT
Drupal Form Api
PPTX
Mysql Script
ODP
Mechanize at the Ruby Drink-up of Sophia, November 2011
KEY
jQuery Performance Tips and Tricks (2011)
PDF
FamilySearch Reference Client
jQuery Performance Rules
devise tutorial - 2011 rubyconf taiwan
18.register login
Using WordPress as your application stack
07 Php Mysql Update Delete
Keeping It Simple
06 Php Mysql Connect Query
Count to 10 and Say Yes
HTML::FormHandler
20110820 header new style
Be happy with Ruby on Rails - CEUNSP Itu
Dicas de palestra
Introduction to ZendX jQuery
Twitter bootstrap
Drupal Form Api
Mysql Script
Mechanize at the Ruby Drink-up of Sophia, November 2011
jQuery Performance Tips and Tricks (2011)
FamilySearch Reference Client
Ad

Viewers also liked (20)

ODP
Content management system
PPTX
Content Management System
PPTX
CMS ( Content Management System ) Digital Marketing
PPT
CMS (CONTENT MANAGEMENT SYSTEM)
PDF
Install Drupal on Wamp Server
PPTX
Selecting a content management system
PDF
Behavioral Economics and the Design of Agricultural Index Insurance in Develo...
PPT
Evaluating economic impacts of agricultural research ciat
PPT
Learning mathematical proof, lessons learned and outlines of a learning envir...
PPTX
Plataformas educativas
PPT
Solving Equations
PPS
Selecting A Content Management System For Athabasca University
PPTX
Agricultural Productivity and Economic Development in Southern Africa
PPT
Irrigation suitability in Malawi
PDF
Agricultural Economics Mid Term Progress Submission
PPT
Ceu lecture 4
PPT
CEU lecture 2 2016
PPTX
The Water Energy and Food Security Nexus - is it really new?
DOCX
Image processing (Signal Processing)
PDF
[Ronald p. morash] bridge to abstract mathematics
Content management system
Content Management System
CMS ( Content Management System ) Digital Marketing
CMS (CONTENT MANAGEMENT SYSTEM)
Install Drupal on Wamp Server
Selecting a content management system
Behavioral Economics and the Design of Agricultural Index Insurance in Develo...
Evaluating economic impacts of agricultural research ciat
Learning mathematical proof, lessons learned and outlines of a learning envir...
Plataformas educativas
Solving Equations
Selecting A Content Management System For Athabasca University
Agricultural Productivity and Economic Development in Southern Africa
Irrigation suitability in Malawi
Agricultural Economics Mid Term Progress Submission
Ceu lecture 4
CEU lecture 2 2016
The Water Energy and Food Security Nexus - is it really new?
Image processing (Signal Processing)
[Ronald p. morash] bridge to abstract mathematics
Ad

Similar to WordPress as a Content Management System (20)

PPTX
Amp Up Your Admin
PDF
Stepping Into Custom Post Types
PPTX
Custom WordPress theme development
PPTX
Wordpress workflow for an agency world
PPTX
WordPress plugin #3
ZIP
WordPress as a CMS
PPTX
WordPress Structure and Best Practices
PPTX
Building applications with WordPress [WordCamp NYC 2016]
PDF
A WordPress workshop at Cefalo
PDF
WordPress Workflows Expanded
PPTX
How to install and use WordPress (Version - 3.9.1) to create a blog
PPTX
WordPress 3.0 at DC PHP
PPTX
How to content manage everything
PPTX
Introduction to Plugin Programming, WordCamp Miami 2011
PPTX
Getting Started With WordPress Development
PDF
Your Custom WordPress Admin Pages Suck
PDF
WordPress A CMS for Beginners, Geeks and Those In-Between
PDF
WordCamp Geneva Presentation - Customising WordPress' Admin Panel - 19 Nov. 2016
PDF
WordCamp Raleigh 2018 - Beginner's Guide to Wordpress
PDF
WordPress Building Better Relationships
Amp Up Your Admin
Stepping Into Custom Post Types
Custom WordPress theme development
Wordpress workflow for an agency world
WordPress plugin #3
WordPress as a CMS
WordPress Structure and Best Practices
Building applications with WordPress [WordCamp NYC 2016]
A WordPress workshop at Cefalo
WordPress Workflows Expanded
How to install and use WordPress (Version - 3.9.1) to create a blog
WordPress 3.0 at DC PHP
How to content manage everything
Introduction to Plugin Programming, WordCamp Miami 2011
Getting Started With WordPress Development
Your Custom WordPress Admin Pages Suck
WordPress A CMS for Beginners, Geeks and Those In-Between
WordCamp Geneva Presentation - Customising WordPress' Admin Panel - 19 Nov. 2016
WordCamp Raleigh 2018 - Beginner's Guide to Wordpress
WordPress Building Better Relationships

Recently uploaded (20)

PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Advanced IT Governance
PDF
Electronic commerce courselecture one. Pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
KodekX | Application Modernization Development
PPT
Teaching material agriculture food technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Cloud computing and distributed systems.
PDF
Approach and Philosophy of On baking technology
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Advanced methodologies resolving dimensionality complications for autism neur...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
“AI and Expert System Decision Support & Business Intelligence Systems”
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Reach Out and Touch Someone: Haptics and Empathic Computing
Advanced IT Governance
Electronic commerce courselecture one. Pdf
Unlocking AI with Model Context Protocol (MCP)
KodekX | Application Modernization Development
Teaching material agriculture food technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Understanding_Digital_Forensics_Presentation.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Cloud computing and distributed systems.
Approach and Philosophy of On baking technology
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

WordPress as a Content Management System

  • 2. WordPress As Content Management System Setyagus Sucipto iCreativeLabs Studio WordCamp Indonesia 2010
  • 3. The Idea WordCamp Indonesia 2010
  • 4. A content management system (CMS) is software that makes it easy for non-techies to organize and manage web content.
  • 5. Simple and easy for manage Hide the complicated code and algorithm Automated templates Easily editable content Scalable feature sets Web standards upgrades User role Workflow management Content Management System Capabilities
  • 6. WordPress lets you create pages (stand alone content) and posts . Automated template. Easy for editable content. Easy Plugin for plug and play (scalable) Automatic upgrade Workflow management Framework WordPress What WordPress have and provide?
  • 7. User role for limited access Not hide complicated code WordPress What WordPress not have?
  • 8. User Role Short Tags Create Simple Organized Menu For User Hide complicated admin panel Hide complicated tags (postmeta and customfield) What User Need
  • 9. WordCamp Indonesia 2010 Implementation
  • 10. Use Plugin API/Action References Use Plugin API/Filter References Create Bridges for plugin that we want to modified Never Touch the WordPress core What We Do
  • 11. For Remove Control Meta remove_meta_box Add New Control Meta add_meta_box Hook An Action add_action WordPress Plugin API
  • 12. function post_categories_meta_box_($post) { global $wp_query, $current_user_roles; ?> <div id=&quot;categories-all&quot; class=&quot;tabs-panel&quot;> <ul id=&quot;categorychecklist&quot; class=&quot;list:category categorychecklist form-no-clear&quot;> <?php $childOf = ''; foreach($current_user_roles as $role){ $childOf .= $childOf == '' ? $role: ','.$role; } wp_category_checklist_($post->ID, '&include='.$childOf, false, $popular_ids) ?> </ul> </div> <?php } } require_once('../wp-admin/includes/template.php'); remove_meta_box('categorydiv','post','normal'); remove_meta_box('postcustom','post','normal'); add_meta_box('categorydiv2', __('Categories'), 'post_categories_meta_box_', 'post', 'side', 'core'); Sample Code Plugin API – Modified Categories Listing
  • 13. It’s will simple for modified Simple for upgrade We just adding what we need Bridges The Plugin Make the plugin like you need
  • 14. User have limited access to each category User only can post to specific categories Prevent user for make changes the post that not related with his privileges User Role
  • 17. Hide complicated things in simple tags User don’t need to know php code and html Put the complicated tags with 3 steps (open tags – content – close tags) Short Tags
  • 18. /* function.php at the themes folder */ <?php function quoteTheText($quote){ return ‘<div class=“redq”>’.$quote.’</redq>’; } function add_shortcode(‘quotetext’,’quotethetext’); ?> Short Tags Sample Code
  • 20. Menu Simple and Organized VS
  • 21. Use adminized plugin for hide the backend panel Create simple menu and organized Create specific post form for user Hide the custom field Just show what user need Hide complicated admin panel
  • 22. Organized what menu that user want Add new parent menu using add_menu_page Add new sub menu page using add_submenu_page Create Simple Menu
  • 23. /* function.php at the themes folder */ add_menu_page($config['themename'].' Options', $config['themename'], 'level_7', 'icl/index', 'icl_noop'); add_submenu_page('icl/index', 'Configuration Options', 'Configuration', 'administrator', 'icl/configuration', 'icl_noop'); add_submenu_page('icl/index', 'Role Options', 'User Role', 'administrator', 'user_role/index', 'icl_noop'); if (current_user_can('manage_options') || $icl_utility->is_can_access_category($icl_utility->get_option('general', 'category_video_news', array('option_value'), FALSE, TRUE))) { add_submenu_page('icl/index', 'Movie Options', 'Movie', 'level_7', 'movie/index', 'icl_noop'); } if (current_user_can('manage_options') || $icl_utility->is_can_access_category($icl_utility->get_option('general', 'category_kontes', array('option_value'), FALSE, TRUE))) { add_submenu_page('icl/index', 'Daftar User Submit', 'Daftar User Submit', 'level_7', 'submission', 'icl_noop'); } add_submenu_page('icl/index', 'Banner Options', 'Banner', 'administrator', 'banner/index', 'icl_noop'); Sample Code
  • 24. Simple Menu The Result
  • 26. $wpdb->query($sqlPost); $post_id = $wpdb->insert_id; if (intval($post_id) > 0) { if ($data['movie_source'] == 1) { add_post_meta($post_id, 'movie', WPICL_MOVIE_URL . $data['movie_file'], TRUE); } add_post_meta($post_id, 'movie_image', (($data['image_file'] != '') ? WPICL_IMAGE_URL . $data['image_file'] : get_bloginfo('stylesheet_directory') . '/images/logo-register.png'), TRUE); $sql = 'INSERT INTO '.$wpdb->term_relationships; $sql .= ' (object_id, term_taxonomy_id) VALUES ('.$post_id.', '.$data['movie_category'].')'; $sql = mysql_real_escape_string($sql); $wpdb->query($sql); } Post Sample Code
  • 27. WordPress it’s be simple for modified Hide all the complicated thing and just show the end user need In Review