Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Customizing WordPress - Ioannis Karavas Softwar...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
WordPress Greek Community
PRO
April 28, 2015
Technology
410
2
Share
Customizing WordPress - Ioannis Karavas Software Engineer
WordPress Greek Community
PRO
April 28, 2015
More Decks by WordPress Greek Community
See All by WordPress Greek Community
Filippos Karailanidis - Beyond ChatGPT: AI Toolkit for the WordPress Developer
wpgr
PRO
0
29
Orestis Samaras - Modern WordPress Development with Composer
wpgr
PRO
0
21
Eleni Tsertou - Ταχύτερο website με Persistent Object Cache: Μύθος ή Αλήθεια;
wpgr
PRO
0
21
George Korakas - WordPress Security 2025: From Real Threats to Practical Defenses
wpgr
PRO
0
24
Δημήτρης Καρβούνης - Πέρα από το Admin Panel: Πώς να μιλήσεις στο WordPress σαν Developer μέσω REST API
wpgr
PRO
0
18
Αναστασία Αδαμούδη - Δημιουργία σύνθετου μενού πλοήγησης σε block θέματα
wpgr
PRO
0
11
Νίκος Μαυράκης - Κοστολογώντας τη δημιουργικότητα
wpgr
PRO
0
25
Jovana Smoljanovic Tucakov - AI vs. Human Content: What Works, What Backfires, and What’s Next
wpgr
PRO
0
18
Λεωνίδας Μηλώσης - Optimize – optimize – optimize: Caring for performance of your WordPress plugin or website
wpgr
PRO
0
19
Other Decks in Technology
See All in Technology
Proxmox超入門
devops_vtj
0
180
CDK Insightsで見る、AIによるCDKコード静的解析(+AI解析)
k_adachi_01
2
110
数案件を同時に進行するためのコンテキスト整理術
sutetotanuki
1
220
AIエージェントを構築して感じた、AI時代のCDKとの向き合い方
smt7174
1
210
プロンプトエンジニアリングを超えて:自由と統制のあいだでつくる Platform × Context Engineering
yuriemori
0
180
"SQLは書けません"から始まる データドリブン
kubell_hr
2
350
DIPS2.0データに基づく森林管理における無人航空機の利用状況
naokimuroki
1
200
試されDATA SAPPORO [LT]Claude Codeで「ゆっくりデータ分析」
ishikawa_satoru
0
370
ログ基盤・プラグイン・ダッシュボード、全部整えた。でも最後は人だった。
makikub
5
1.7k
Discordでリモートポケカしてたら、なぜかDOを25分間動かせるようになった話
umireon
0
130
終盤で崩壊させないAI駆動開発
j5ik2o
0
540
JOAI2026講評会資料(近藤佐介)
element138
0
100
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
528
40k
Building AI with AI
inesmontani
PRO
1
880
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
Raft: Consensus for Rubyists
vanstee
141
7.4k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
110
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
130
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
180
Paper Plane (Part 1)
katiecoart
PRO
0
6.5k
Balancing Empowerment & Direction
lara
5
1k
The Language of Interfaces
destraynor
162
26k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
Transcript
Customizing WordPress Customizing WordPress Ioannis Karavas Software Engineer
Music Industry E-commerce Organizations Who uses WordPress?
WordPress is customizable WordPress is customizable
Filters Filters
Filters Filters <?php add_filter( 'body_class', 'gimme_browser' ) ?> function gimme_browser($classes)
{ global $is_IE, $is_opera, $is_chrome, $is_iphone; if ($is_chrome) $classes[] = 'chrome'; elseif ($is_opera) $classes[] = 'opera'; ... return $classes; }
Actions Actions
Actions Actions add_action( 'user_register', 'handle_new_user' ); function handle_new_user($user_id) { $user_info
= ... $new_post = array( 'post_name' => $user_name, ... 'post_excerpt' => '...', 'post_content' => 'Prompt user...' ); wp_insert_post( $new_post, $wp_error ); }
Child Themes Child Themes
Child Themes Child Themes function child_styles() { wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css');
} add_action( 'wp_enqueue_scripts', 'child_styles' ); functions.php is not overwritten!
Roles & Capabilities Roles & Capabilities
Roles & Capabilities Roles & Capabilities function restrict_editor() { $editorRole
= get_role( 'editor' ); $capabilities = array( 'edit_others_posts', ... ); foreach ( $capabilities as $capability ) { $editorRole->remove_cap( $capability ); } } add_action( 'init', 'restrict_editor' );
add_action( 'init', 'add_new_role' ); function add_new_role() { add_role( 'junior', __('Junior'),
array( 'read' => true, 'edit_posts' => true, 'delete_posts' => false, ) ); } Roles & Capabilities Roles & Capabilities
Custom Post Types Custom Post Types
Custom Post Types Custom Post Types add_action( 'init', 'create_custom_post_type' );
function create_custom_post_type() { register_post_type('projects', array( 'labels' => array( 'name' => __('Projects'), 'singular_name' => __('Projects'), ) ... ) ); }
WordPress WordPress Customization Customization
Thank you! Thank you! Ioannis Karavas Software Engineer