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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
40
Orestis Samaras - Modern WordPress Development with Composer
wpgr
PRO
0
27
Eleni Tsertou - Ταχύτερο website με Persistent Object Cache: Μύθος ή Αλήθεια;
wpgr
PRO
0
32
George Korakas - WordPress Security 2025: From Real Threats to Practical Defenses
wpgr
PRO
0
37
Δημήτρης Καρβούνης - Πέρα από το Admin Panel: Πώς να μιλήσεις στο WordPress σαν Developer μέσω REST API
wpgr
PRO
0
27
Αναστασία Αδαμούδη - Δημιουργία σύνθετου μενού πλοήγησης σε block θέματα
wpgr
PRO
0
19
Νίκος Μαυράκης - Κοστολογώντας τη δημιουργικότητα
wpgr
PRO
0
36
Jovana Smoljanovic Tucakov - AI vs. Human Content: What Works, What Backfires, and What’s Next
wpgr
PRO
0
34
Λεωνίδας Μηλώσης - Optimize – optimize – optimize: Caring for performance of your WordPress plugin or website
wpgr
PRO
0
27
Other Decks in Technology
See All in Technology
oracle-to-databricks-migration-with-llm-and-dbt
casek
1
390
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development
yoshidashingo
1
290
さきさん文庫の書籍ができるまで
sakiengineer
0
330
Diagnosing performance problems without the guesswork
elenatanasoiu
0
130
Generative UI × A2UI で AI エージェントを作った話 AI-DLC も使ってみた!
kmiya84377
1
300
Ruby::Boxでできること、Refinementsでできること
joker1007
3
320
Kiro CLI v2.0.0がやってきた!
kentapapa
0
250
Spring AI × MCP 入門〜AIエージェントへのツール公開、境界設計から始める最小構成 〜
yuyamiyamoto
0
190
エンジニアは生成AIと どのように向き合うべきか? ことばの意味という観点から
verypluming
3
310
個人AIからチームAIへ:開発における品質と生産性の再設計
moongift
PRO
0
340
イベントストーミングとKiroの仕様駆動開発で実現する要件の認識合わせプロセス
syobochim
7
1k
AI フレンドリーなエラー監視を TypeScript で実現する
shinyaigeek
2
200
Featured
See All Featured
The untapped power of vector embeddings
frankvandijk
2
1.7k
Statistics for Hackers
jakevdp
799
230k
Code Reviewing Like a Champion
maltzj
528
40k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
150
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
310
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
440
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
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