SlideShare a Scribd company logo
WordPress Developers Meetup
15/04 - #WPDevIL


                   yoav@farhi.org, @yoavf
Today we’ll talk about...

 Intro, WordPress developers meetup
 New features in recent versions
 3.0
 Getting involved with WordPress development
 Q&A
Hello!
Features History




http://www.flickr.com/photos/nostri-imago/
2.7
2.9
2.8
2.7
2.7
2.7
      • Completely new interface
2.7
      • Completely new interface
      • Comment threading
2.7
      • Completely new interface
      • Comment threading
      • Plugin repository
2.7
      • Completely new interface
      • Comment threading
      • Plugin repository
      • Child themes
2.7
      • Completely new interface
      • Comment threading
      • Plugin repository
      • Child themes
      • Automatic upgrades
2.8
2.8
      • Integrated theme repository
2.8
      • Integrated theme repository
      • New widgets interface and API
Easy Widgets
class MyWidget extends WP_Widget {
   function MyWidget() {
     $this->WP_Widget('MyWidget', __('My Widget'));
   }

    function widget($args, $instance) {
      ?>
             Hello, World!
      <?php
    }
}

add_action('widgets_init', create_function('', 'return
register_widget("MyWidget");'));
Easy Widgets
Easy Widgets
Easy Widgets
    class MyWidget extends WP_Widget {

    function MyWidget() {
      $widget_ops = array( );
      $this->WP_Widget('mywidget', __('MyWidget'), $widget_ops);
    }

    function widget($args, $instance) {
    }

    function form( $instance ) {
    }

    function update( $new_instance, $old_instance ) {
    }
}
2.8
      • Integrated theme repository
      • New widgets interface and API
2.8
      • Integrated theme repository
      • New widgets interface and API
      • Better custom taxonomies
Taxonomies

function people_taxonomy() {
    register_taxonomy( 'people', 'post',
array( 'hierarchical' => false, 'label' =>
'‫;) ) 'אנשים‬
}

add_action( 'init', 'people_taxonomy', 0 );
2.8
      • Integrated theme repository
      • New widgets interface and API
      • Better custom taxonomies
2.8
      • Integrated theme repository
      • New widgets interface and API
      • Better custom taxonomies
      • Speed
2.9
2.9
      • General Undo/Trash feature
2.9
      • General Undo/Trash feature
      • Built in image editor
2.9
      • General Undo/Trash feature
      • Built in image editor
      • Easier video embeds (oembed)
2.9
      • General Undo/Trash feature
      • Built in image editor
      • Easier video embeds (oembed)
      • Custom post types
2.9
      • General Undo/Trash feature
      • Built in image editor
      • Easier video embeds (oembed)
      • Custom post types
      • Post thumbnails
Today we’ll talk about...

 Intro, WordPress developers meetup
 New features in recent versions
 3.0
 Getting involved with WordPress development
 Q&A
3.0
ZOMFG!!!1
So, what’s in the bag?




© Keren Segev, with permission
Custom Backgrounds
Backgrounds


 // functions.php
 add_custom_background();
Headers
Headers
  //functions.php
  define( 'HEADER_TEXTCOLOR', '' );
  define( 'NO_HEADER_TEXT', true );
 define( 'HEADER_IMAGE', '%s/images/headers/default.jpg' ); // %s is theme dir
 define( 'HEADER_IMAGE_WIDTH', 775 );
 define( 'HEADER_IMAGE_HEIGHT', 200 );

 add_custom_image_header( '', 'mytheme_admin_header_style' );

 function mytheme_admin_header_style() {
   ?><style type="text/css">
      #header {
         background: url(<?php header_image(); ?>);
      }
   </style><?php
 }
Headers
// functions.php

register_default_headers( array (
    'berries' => array (
          'url' => '%s/images/headers/berries.jpg',
          'thumbnail_url' => '%s/images/headers/berries-thumbnail.jpg',
          'description' => __( 'Berries', 'mytheme' )
    ),
    'cherryblossom' => array (
          'url' => '%s/images/headers/cherryblossoms.jpg',
          'thumbnail_url' => '%s/images/headers/cherryblossoms-thumbnail.jpg',
          'description' => __( 'Cherry Blossoms', 'mytheme' )
    )
) );
<p class="nocomments"><?php _e('Comments are closed.', 'kubrick'); ?></p>
<?php } ?>

<?php if ( comments_open() ) : ?>
<div id="respond">
<h3><?php _e('Leave a Reply', 'kubrick'); ?></h3>
<div class="cancel-comment-reply">
  <small><?php cancel_comment_reply_link() ?></small>
</div>
<?php if ( get_option('comment_registration') && !$user_ID ) : ?>
<p><?php printf(__('You must be <a href="%s">logged in</a> to post a comment.', 'kubrick'), get_option('siteurl') . '/wp-login.php?redirect_to=' . urlencode(get_permalink())); ?></p>
<?php else : ?>

<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
<?php comment_id_fields(); ?>

<?php if ( $user_ID ) : ?>

<p><?php printf(__('Logged in as <a href="%1$s">%2$s</a>.', 'kubrick'), get_option('siteurl') . '/wp-admin/profile.php', $user_identity); ?> <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout" title="<?php _e('Log
out of this account', 'kubrick'); ?>"><?php _e('Logout &raquo;', 'kubrick'); ?></a></p>

<?php else : ?>

<p><input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="22" tabindex="1" <?php if ($req) echo "aria-required='true'"; ?> />
<label for="author"><small><?php _e('Name', 'kubrick'); ?> <?php if ($req) _e("(required)", "kubrick"); ?></small></label></p>

<p><input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="22" tabindex="2" <?php if ($req) echo "aria-required='true'"; ?> />
<label for="email"><small><?php _e('E-mail (will not be published)', 'kubrick'); ?> <?php if ($req) _e("(required)", "kubrick"); ?></small></label></p>

<p><input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="22" tabindex="3" />
<label for="url"><small><?php _e('Website', 'kubrick'); ?></small></label></p>

<?php endif; ?>
<!--<p><small><?php printf(__('<strong>XHTML:</strong> You can use these tags: <code>%s</code>', 'kubrick'), allowed_tags()); ?></small></p>-->

<p><textarea name="comment" id="comment" cols="58" rows="10" tabindex="4"></textarea></p>

<p><input name="submit" type="submit" id="submit" tabindex="5" value="<?php _e('Submit Comment', 'kubrick'); ?>" />
<input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" />
</p>
<?php do_action('comment_form', $post->ID); ?>

</form>
<?php endif; // If registration required and not logged in ?>
</div>
?>
Pluggable Comment form



 //comments.php
comment_form();
Navigation menu
Navigation menu
 // functions.php
 add_theme_support( 'nav-menus' );

 //header.php
 wp_list_pages('title_li=');
 wp_nav_menu();


* Will also work in a widget, with all widget enabled themes
Custom Post Types
Custom Post Types
    function post_type_reviews() {
        register_post_type('reviews', array(
          'label' => '‫,'ביקורות‬
          'singular_label' => '‫,'ביקורת‬
          'description' => '‫,'ביקורות תוספים לוורדפרס‬
          'public' => true
      ));
}

add_action('init', 'post_type_reviews');
2010: A Theme Odyssey
2010: A Theme Odyssey
2010: A Theme Odyssey
2010 - The perfect example
2010 - The perfect example


 Showcase for 3.0 new features
2010 - The perfect example


 Showcase for 3.0 new features
 Complete, yet flexible
2010 - The perfect example


 Showcase for 3.0 new features
 Complete, yet flexible
 Internationalized and translation ready
2010 - The perfect example


 Showcase for 3.0 new features
 Complete, yet flexible
 Internationalized and translation ready
 Fully documented
A parent for your child theme
A parent for your child theme
  /*
 Theme Name: My New Theme
 Description: Child of Twentyten
 Version: 0.1
 Author: Yoav Farhi
 Author URI: http://blog.yoavfarhi.com
 Template: twentyten
 */
A parent for your child theme
  /*
 Theme Name: My New Theme
 Description: Child of Twentyten
 Version: 0.1
 Author: Yoav Farhi
 Author URI: http://blog.yoavfarhi.com
 Template: twentyten
 */


 @import url(../twentyten/style.css); //optional
Multisite


 // wp-config.php

define( 'WP_ALLOW_MULTISITE', true );
3.0
• Custom Background / Header



3.0
• Custom Background / Header



3.0
      • Pluggable comment form
• Custom Background / Header



3.0
      • Pluggable comment form
      • Navigation menu
• Custom Background / Header



3.0
      • Pluggable comment form
      • Navigation menu
      • Custom post types
• Custom Background / Header



3.0
      • Pluggable comment form
      • Navigation menu
      • Custom post types
      • New default theme
• Custom Background / Header



3.0
      • Pluggable comment form
      • Navigation menu
      • Custom post types
      • New default theme
      • Multisite
• Custom Background / Header



3.0
      • Pluggable comment form
      • Navigation menu
      • Custom post types
      • New default theme
      • Multisite
      ...
Today we’ll talk about...

 Intro, WordPress developers meetup
 New features in recent versions
 3.0
 Getting involved with WordPress development
 Q&A
Don’t be afraid,
  use the trunk
Staying
                                         connected



http://www.flickr.com/photos/versageek/
Average: 9 changesets a day
Staying Connected
• Trac, directly or via RSS or twitter (@wpdevel)
• Weekly dev chats on irc #wordpress-dev
(Freenode)
• The development updates blog:
  http://wpdevel.wordpress.com/
Contributing
Contributing

  Testing
  Translating
  RTLizing
  etc...
Q&A
Matt Mullenweg
Next time?
            Caching
 Security             Buddypress


                      UGC          SEO
            SVN

                               E-commerce
   Plugins 101
Thank You!

More Related Content

What's hot

Introduction to Custom WordPress Themeing
Introduction to Custom WordPress ThemeingIntroduction to Custom WordPress Themeing
Introduction to Custom WordPress Themeing
Jamie Schmid
 
Introduction to WordPress Theme Development
Introduction to WordPress Theme DevelopmentIntroduction to WordPress Theme Development
Introduction to WordPress Theme Development
Sitdhibong Laokok
 
Intro to WordPress theme development
Intro to WordPress theme developmentIntro to WordPress theme development
Intro to WordPress theme development
Thad Allender
 
The Way to Theme Enlightenment 2017
The Way to Theme Enlightenment 2017The Way to Theme Enlightenment 2017
The Way to Theme Enlightenment 2017
Amanda Giles
 
Theme development essentials columbus oh word camp 2012
Theme development essentials   columbus oh word camp 2012Theme development essentials   columbus oh word camp 2012
Theme development essentials columbus oh word camp 2012Joe Querin
 
WP Joburg Meetup 10: Genesis Framework by Trish Cornelius
WP Joburg Meetup 10: Genesis Framework by Trish CorneliusWP Joburg Meetup 10: Genesis Framework by Trish Cornelius
WP Joburg Meetup 10: Genesis Framework by Trish Cornelius
WPJoburg
 
Rebrand WordPress Admin
Rebrand WordPress AdminRebrand WordPress Admin
Rebrand WordPress Admin
Chandra Prakash Thapa
 
W pthemes
W pthemesW pthemes
W pthemes
Becky Davis
 
Dissecting WordPress Themes and Page Templates, WordPress Columbus Meetup
Dissecting WordPress Themes and Page Templates, WordPress Columbus MeetupDissecting WordPress Themes and Page Templates, WordPress Columbus Meetup
Dissecting WordPress Themes and Page Templates, WordPress Columbus Meetup
Angela Meeker
 
WordPress Multisite at WordCamp Columbus by Angie Meeker
WordPress Multisite at WordCamp Columbus by Angie MeekerWordPress Multisite at WordCamp Columbus by Angie Meeker
WordPress Multisite at WordCamp Columbus by Angie Meeker
Angela Meeker
 
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
LinnAlexandra
 
Responsive Theme Workshop - WordCamp Columbus 2015
Responsive Theme Workshop - WordCamp Columbus 2015Responsive Theme Workshop - WordCamp Columbus 2015
Responsive Theme Workshop - WordCamp Columbus 2015
Joe Querin
 
Meetup child-themes
Meetup child-themesMeetup child-themes
Meetup child-themesDaisyOlsen
 
What is (not) WordPress
What is (not) WordPressWhat is (not) WordPress
What is (not) WordPress
Nikolay Bachiyski
 
There's No Crying In Wordpress! (an intro to WP)
There's No Crying In Wordpress! (an intro to WP)There's No Crying In Wordpress! (an intro to WP)
There's No Crying In Wordpress! (an intro to WP)
Grace Solivan
 
WordPress Theme Development
WordPress Theme DevelopmentWordPress Theme Development
WordPress Theme Development
WisdmLabs
 
Customizing WordPress Themes
Customizing WordPress ThemesCustomizing WordPress Themes
Customizing WordPress Themes
Laura Hartwig
 
Child Themes in WordPress
Child Themes in WordPressChild Themes in WordPress
Child Themes in WordPress
Jeff Cohan
 
Cms & wordpress theme development 2011
Cms & wordpress theme development 2011Cms & wordpress theme development 2011
Cms & wordpress theme development 2011
Dave Wallace
 

What's hot (20)

Introduction to Custom WordPress Themeing
Introduction to Custom WordPress ThemeingIntroduction to Custom WordPress Themeing
Introduction to Custom WordPress Themeing
 
Introduction to WordPress Theme Development
Introduction to WordPress Theme DevelopmentIntroduction to WordPress Theme Development
Introduction to WordPress Theme Development
 
Intro to WordPress theme development
Intro to WordPress theme developmentIntro to WordPress theme development
Intro to WordPress theme development
 
The Way to Theme Enlightenment 2017
The Way to Theme Enlightenment 2017The Way to Theme Enlightenment 2017
The Way to Theme Enlightenment 2017
 
Theme development essentials columbus oh word camp 2012
Theme development essentials   columbus oh word camp 2012Theme development essentials   columbus oh word camp 2012
Theme development essentials columbus oh word camp 2012
 
WP Joburg Meetup 10: Genesis Framework by Trish Cornelius
WP Joburg Meetup 10: Genesis Framework by Trish CorneliusWP Joburg Meetup 10: Genesis Framework by Trish Cornelius
WP Joburg Meetup 10: Genesis Framework by Trish Cornelius
 
Rebrand WordPress Admin
Rebrand WordPress AdminRebrand WordPress Admin
Rebrand WordPress Admin
 
Seven deadly theming sins
Seven deadly theming sinsSeven deadly theming sins
Seven deadly theming sins
 
W pthemes
W pthemesW pthemes
W pthemes
 
Dissecting WordPress Themes and Page Templates, WordPress Columbus Meetup
Dissecting WordPress Themes and Page Templates, WordPress Columbus MeetupDissecting WordPress Themes and Page Templates, WordPress Columbus Meetup
Dissecting WordPress Themes and Page Templates, WordPress Columbus Meetup
 
WordPress Multisite at WordCamp Columbus by Angie Meeker
WordPress Multisite at WordCamp Columbus by Angie MeekerWordPress Multisite at WordCamp Columbus by Angie Meeker
WordPress Multisite at WordCamp Columbus by Angie Meeker
 
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
 
Responsive Theme Workshop - WordCamp Columbus 2015
Responsive Theme Workshop - WordCamp Columbus 2015Responsive Theme Workshop - WordCamp Columbus 2015
Responsive Theme Workshop - WordCamp Columbus 2015
 
Meetup child-themes
Meetup child-themesMeetup child-themes
Meetup child-themes
 
What is (not) WordPress
What is (not) WordPressWhat is (not) WordPress
What is (not) WordPress
 
There's No Crying In Wordpress! (an intro to WP)
There's No Crying In Wordpress! (an intro to WP)There's No Crying In Wordpress! (an intro to WP)
There's No Crying In Wordpress! (an intro to WP)
 
WordPress Theme Development
WordPress Theme DevelopmentWordPress Theme Development
WordPress Theme Development
 
Customizing WordPress Themes
Customizing WordPress ThemesCustomizing WordPress Themes
Customizing WordPress Themes
 
Child Themes in WordPress
Child Themes in WordPressChild Themes in WordPress
Child Themes in WordPress
 
Cms & wordpress theme development 2011
Cms & wordpress theme development 2011Cms & wordpress theme development 2011
Cms & wordpress theme development 2011
 

Similar to WordPress Developers Israel Meetup #1

Wordpress beyond blogging
Wordpress beyond bloggingWordpress beyond blogging
Wordpress beyond blogging
Julien Minguely
 
Lumberjack 2 - Supercharging WordPress in 2018
Lumberjack 2 - Supercharging WordPress in 2018Lumberjack 2 - Supercharging WordPress in 2018
Lumberjack 2 - Supercharging WordPress in 2018
Joe Lambert
 
Childthemes ottawa-word camp-1919
Childthemes ottawa-word camp-1919Childthemes ottawa-word camp-1919
Childthemes ottawa-word camp-1919
Paul Bearne
 
WordPress Internationalization and Localization - WordPress Translation Day 3...
WordPress Internationalization and Localization - WordPress Translation Day 3...WordPress Internationalization and Localization - WordPress Translation Day 3...
WordPress Internationalization and Localization - WordPress Translation Day 3...
WordPress Trivandrum
 
Intro to WordPress Plugin Development
Intro to WordPress Plugin DevelopmentIntro to WordPress Plugin Development
Intro to WordPress Plugin Development
Brad Williams
 
Building Potent WordPress Websites
Building Potent WordPress WebsitesBuilding Potent WordPress Websites
Building Potent WordPress Websites
Kyle Cearley
 
How to make a WordPress theme
How to make a WordPress themeHow to make a WordPress theme
How to make a WordPress theme
Hardeep Asrani
 
WordPress for developers - phpday 2011
WordPress for developers -  phpday 2011WordPress for developers -  phpday 2011
WordPress for developers - phpday 2011
Maurizio Pelizzone
 
[Bristol WordPress] Supercharging WordPress Development
[Bristol WordPress] Supercharging WordPress Development[Bristol WordPress] Supercharging WordPress Development
[Bristol WordPress] Supercharging WordPress Development
Adam Tomat
 
WordPress 3.0 at DC PHP
WordPress 3.0 at DC PHPWordPress 3.0 at DC PHP
WordPress 3.0 at DC PHP
andrewnacin
 
From WordPress With Love
From WordPress With LoveFrom WordPress With Love
From WordPress With Love
Up2 Technology
 
<Head> Presentation: Plugging Into Wordpress
<Head> Presentation: Plugging Into Wordpress<Head> Presentation: Plugging Into Wordpress
<Head> Presentation: Plugging Into Wordpress
Matt Harris
 
Getting started with WordPress development
Getting started with WordPress developmentGetting started with WordPress development
Getting started with WordPress development
Steve Mortiboy
 
Creating Your First WordPress Plugin
Creating Your First WordPress PluginCreating Your First WordPress Plugin
Creating Your First WordPress Plugin
Brad Williams
 
Supercharging WordPress Development - Wordcamp Brighton 2019
Supercharging WordPress Development - Wordcamp Brighton 2019Supercharging WordPress Development - Wordcamp Brighton 2019
Supercharging WordPress Development - Wordcamp Brighton 2019
Adam Tomat
 
WordPress
WordPressWordPress
WordPress
risager
 
Modern Theming & The Future of WordPress- Working with Full Site Editing and ...
Modern Theming & The Future of WordPress- Working with Full Site Editing and ...Modern Theming & The Future of WordPress- Working with Full Site Editing and ...
Modern Theming & The Future of WordPress- Working with Full Site Editing and ...
WP Engine
 
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
Doris Chen
 
Introduction to Plugin Programming, WordCamp Miami 2011
Introduction to Plugin Programming, WordCamp Miami 2011Introduction to Plugin Programming, WordCamp Miami 2011
Introduction to Plugin Programming, WordCamp Miami 2011
David Carr
 

Similar to WordPress Developers Israel Meetup #1 (20)

Wordpress beyond blogging
Wordpress beyond bloggingWordpress beyond blogging
Wordpress beyond blogging
 
Lumberjack 2 - Supercharging WordPress in 2018
Lumberjack 2 - Supercharging WordPress in 2018Lumberjack 2 - Supercharging WordPress in 2018
Lumberjack 2 - Supercharging WordPress in 2018
 
Childthemes ottawa-word camp-1919
Childthemes ottawa-word camp-1919Childthemes ottawa-word camp-1919
Childthemes ottawa-word camp-1919
 
WordPress Internationalization and Localization - WordPress Translation Day 3...
WordPress Internationalization and Localization - WordPress Translation Day 3...WordPress Internationalization and Localization - WordPress Translation Day 3...
WordPress Internationalization and Localization - WordPress Translation Day 3...
 
Intro to WordPress Plugin Development
Intro to WordPress Plugin DevelopmentIntro to WordPress Plugin Development
Intro to WordPress Plugin Development
 
Building Potent WordPress Websites
Building Potent WordPress WebsitesBuilding Potent WordPress Websites
Building Potent WordPress Websites
 
How to make a WordPress theme
How to make a WordPress themeHow to make a WordPress theme
How to make a WordPress theme
 
WordPress for developers - phpday 2011
WordPress for developers -  phpday 2011WordPress for developers -  phpday 2011
WordPress for developers - phpday 2011
 
[Bristol WordPress] Supercharging WordPress Development
[Bristol WordPress] Supercharging WordPress Development[Bristol WordPress] Supercharging WordPress Development
[Bristol WordPress] Supercharging WordPress Development
 
WordPress 3.0 at DC PHP
WordPress 3.0 at DC PHPWordPress 3.0 at DC PHP
WordPress 3.0 at DC PHP
 
From WordPress With Love
From WordPress With LoveFrom WordPress With Love
From WordPress With Love
 
<Head> Presentation: Plugging Into Wordpress
<Head> Presentation: Plugging Into Wordpress<Head> Presentation: Plugging Into Wordpress
<Head> Presentation: Plugging Into Wordpress
 
Getting started with WordPress development
Getting started with WordPress developmentGetting started with WordPress development
Getting started with WordPress development
 
Cain & Obenland — Episode 4
Cain & Obenland — Episode 4Cain & Obenland — Episode 4
Cain & Obenland — Episode 4
 
Creating Your First WordPress Plugin
Creating Your First WordPress PluginCreating Your First WordPress Plugin
Creating Your First WordPress Plugin
 
Supercharging WordPress Development - Wordcamp Brighton 2019
Supercharging WordPress Development - Wordcamp Brighton 2019Supercharging WordPress Development - Wordcamp Brighton 2019
Supercharging WordPress Development - Wordcamp Brighton 2019
 
WordPress
WordPressWordPress
WordPress
 
Modern Theming & The Future of WordPress- Working with Full Site Editing and ...
Modern Theming & The Future of WordPress- Working with Full Site Editing and ...Modern Theming & The Future of WordPress- Working with Full Site Editing and ...
Modern Theming & The Future of WordPress- Working with Full Site Editing and ...
 
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
 
Introduction to Plugin Programming, WordCamp Miami 2011
Introduction to Plugin Programming, WordCamp Miami 2011Introduction to Plugin Programming, WordCamp Miami 2011
Introduction to Plugin Programming, WordCamp Miami 2011
 

More from Yoav Farhi

Your First Gutenberg Block
Your First Gutenberg BlockYour First Gutenberg Block
Your First Gutenberg Block
Yoav Farhi
 
[Atelier] Comment traduire un thème (ou une extension) WordPress
[Atelier] Comment traduire un thème (ou une extension) WordPress[Atelier] Comment traduire un thème (ou une extension) WordPress
[Atelier] Comment traduire un thème (ou une extension) WordPress
Yoav Farhi
 
Gender-fair WordPress: Fixing translation inequality at the core
Gender-fair WordPress: Fixing translation inequality at the coreGender-fair WordPress: Fixing translation inequality at the core
Gender-fair WordPress: Fixing translation inequality at the core
Yoav Farhi
 
Right To Left Languages Support – The Right Way
Right To Left Languages Support – The Right WayRight To Left Languages Support – The Right Way
Right To Left Languages Support – The Right Way
Yoav Farhi
 
Localization: beyond translation
Localization: beyond translationLocalization: beyond translation
Localization: beyond translation
Yoav Farhi
 
WordPress in NOT English - WordCamp Hamburg 2014
WordPress in NOT English - WordCamp Hamburg 2014WordPress in NOT English - WordCamp Hamburg 2014
WordPress in NOT English - WordCamp Hamburg 2014
Yoav Farhi
 
Contributing to WordPress (Hebrew)
Contributing to WordPress (Hebrew)Contributing to WordPress (Hebrew)
Contributing to WordPress (Hebrew)
Yoav Farhi
 
WordPress: From Antispambot to Zeroize
WordPress: From Antispambot to ZeroizeWordPress: From Antispambot to Zeroize
WordPress: From Antispambot to Zeroize
Yoav Farhi
 
Distributed: Reinventing the Workplace
Distributed: Reinventing the WorkplaceDistributed: Reinventing the Workplace
Distributed: Reinventing the Workplace
Yoav Farhi
 
וורדפרס.קום - אתרי וורדפרס בקלות
וורדפרס.קום - אתרי וורדפרס בקלותוורדפרס.קום - אתרי וורדפרס בקלות
וורדפרס.קום - אתרי וורדפרס בקלות
Yoav Farhi
 
WordCamp Jerusalem - Doing it Wrong
WordCamp Jerusalem - Doing it WrongWordCamp Jerusalem - Doing it Wrong
WordCamp Jerusalem - Doing it Wrong
Yoav Farhi
 
התוסף הראשון שלי - וורדפרס
התוסף הראשון שלי - וורדפרסהתוסף הראשון שלי - וורדפרס
התוסף הראשון שלי - וורדפרס
Yoav Farhi
 
WordPress theme translation
WordPress theme translationWordPress theme translation
WordPress theme translation
Yoav Farhi
 
WordPress RTL
WordPress RTL WordPress RTL
WordPress RTL
Yoav Farhi
 

More from Yoav Farhi (14)

Your First Gutenberg Block
Your First Gutenberg BlockYour First Gutenberg Block
Your First Gutenberg Block
 
[Atelier] Comment traduire un thème (ou une extension) WordPress
[Atelier] Comment traduire un thème (ou une extension) WordPress[Atelier] Comment traduire un thème (ou une extension) WordPress
[Atelier] Comment traduire un thème (ou une extension) WordPress
 
Gender-fair WordPress: Fixing translation inequality at the core
Gender-fair WordPress: Fixing translation inequality at the coreGender-fair WordPress: Fixing translation inequality at the core
Gender-fair WordPress: Fixing translation inequality at the core
 
Right To Left Languages Support – The Right Way
Right To Left Languages Support – The Right WayRight To Left Languages Support – The Right Way
Right To Left Languages Support – The Right Way
 
Localization: beyond translation
Localization: beyond translationLocalization: beyond translation
Localization: beyond translation
 
WordPress in NOT English - WordCamp Hamburg 2014
WordPress in NOT English - WordCamp Hamburg 2014WordPress in NOT English - WordCamp Hamburg 2014
WordPress in NOT English - WordCamp Hamburg 2014
 
Contributing to WordPress (Hebrew)
Contributing to WordPress (Hebrew)Contributing to WordPress (Hebrew)
Contributing to WordPress (Hebrew)
 
WordPress: From Antispambot to Zeroize
WordPress: From Antispambot to ZeroizeWordPress: From Antispambot to Zeroize
WordPress: From Antispambot to Zeroize
 
Distributed: Reinventing the Workplace
Distributed: Reinventing the WorkplaceDistributed: Reinventing the Workplace
Distributed: Reinventing the Workplace
 
וורדפרס.קום - אתרי וורדפרס בקלות
וורדפרס.קום - אתרי וורדפרס בקלותוורדפרס.קום - אתרי וורדפרס בקלות
וורדפרס.קום - אתרי וורדפרס בקלות
 
WordCamp Jerusalem - Doing it Wrong
WordCamp Jerusalem - Doing it WrongWordCamp Jerusalem - Doing it Wrong
WordCamp Jerusalem - Doing it Wrong
 
התוסף הראשון שלי - וורדפרס
התוסף הראשון שלי - וורדפרסהתוסף הראשון שלי - וורדפרס
התוסף הראשון שלי - וורדפרס
 
WordPress theme translation
WordPress theme translationWordPress theme translation
WordPress theme translation
 
WordPress RTL
WordPress RTL WordPress RTL
WordPress RTL
 

Recently uploaded

20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 

Recently uploaded (20)

20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 

WordPress Developers Israel Meetup #1

  • 1. WordPress Developers Meetup 15/04 - #WPDevIL yoav@farhi.org, @yoavf
  • 2. Today we’ll talk about... Intro, WordPress developers meetup New features in recent versions 3.0 Getting involved with WordPress development Q&A
  • 5.
  • 6. 2.7
  • 7.
  • 8.
  • 9.
  • 10. 2.9
  • 11.
  • 12. 2.8
  • 13.
  • 14. 2.7
  • 15. 2.7
  • 16. 2.7 • Completely new interface
  • 17. 2.7 • Completely new interface • Comment threading
  • 18. 2.7 • Completely new interface • Comment threading • Plugin repository
  • 19. 2.7 • Completely new interface • Comment threading • Plugin repository • Child themes
  • 20. 2.7 • Completely new interface • Comment threading • Plugin repository • Child themes • Automatic upgrades
  • 21. 2.8
  • 22. 2.8 • Integrated theme repository
  • 23. 2.8 • Integrated theme repository • New widgets interface and API
  • 24. Easy Widgets class MyWidget extends WP_Widget { function MyWidget() { $this->WP_Widget('MyWidget', __('My Widget')); } function widget($args, $instance) { ?> Hello, World! <?php } } add_action('widgets_init', create_function('', 'return register_widget("MyWidget");'));
  • 27. Easy Widgets class MyWidget extends WP_Widget { function MyWidget() { $widget_ops = array( ); $this->WP_Widget('mywidget', __('MyWidget'), $widget_ops); } function widget($args, $instance) { } function form( $instance ) { } function update( $new_instance, $old_instance ) { } }
  • 28. 2.8 • Integrated theme repository • New widgets interface and API
  • 29. 2.8 • Integrated theme repository • New widgets interface and API • Better custom taxonomies
  • 30.
  • 31. Taxonomies function people_taxonomy() { register_taxonomy( 'people', 'post', array( 'hierarchical' => false, 'label' => '‫;) ) 'אנשים‬ } add_action( 'init', 'people_taxonomy', 0 );
  • 32. 2.8 • Integrated theme repository • New widgets interface and API • Better custom taxonomies
  • 33. 2.8 • Integrated theme repository • New widgets interface and API • Better custom taxonomies • Speed
  • 34. 2.9
  • 35. 2.9 • General Undo/Trash feature
  • 36. 2.9 • General Undo/Trash feature • Built in image editor
  • 37. 2.9 • General Undo/Trash feature • Built in image editor • Easier video embeds (oembed)
  • 38. 2.9 • General Undo/Trash feature • Built in image editor • Easier video embeds (oembed) • Custom post types
  • 39. 2.9 • General Undo/Trash feature • Built in image editor • Easier video embeds (oembed) • Custom post types • Post thumbnails
  • 40. Today we’ll talk about... Intro, WordPress developers meetup New features in recent versions 3.0 Getting involved with WordPress development Q&A
  • 42. So, what’s in the bag? © Keren Segev, with permission
  • 44. Backgrounds // functions.php add_custom_background();
  • 46. Headers //functions.php define( 'HEADER_TEXTCOLOR', '' ); define( 'NO_HEADER_TEXT', true ); define( 'HEADER_IMAGE', '%s/images/headers/default.jpg' ); // %s is theme dir define( 'HEADER_IMAGE_WIDTH', 775 ); define( 'HEADER_IMAGE_HEIGHT', 200 ); add_custom_image_header( '', 'mytheme_admin_header_style' ); function mytheme_admin_header_style() { ?><style type="text/css"> #header { background: url(<?php header_image(); ?>); } </style><?php }
  • 47. Headers // functions.php register_default_headers( array ( 'berries' => array ( 'url' => '%s/images/headers/berries.jpg', 'thumbnail_url' => '%s/images/headers/berries-thumbnail.jpg', 'description' => __( 'Berries', 'mytheme' ) ), 'cherryblossom' => array ( 'url' => '%s/images/headers/cherryblossoms.jpg', 'thumbnail_url' => '%s/images/headers/cherryblossoms-thumbnail.jpg', 'description' => __( 'Cherry Blossoms', 'mytheme' ) ) ) );
  • 48. <p class="nocomments"><?php _e('Comments are closed.', 'kubrick'); ?></p> <?php } ?> <?php if ( comments_open() ) : ?> <div id="respond"> <h3><?php _e('Leave a Reply', 'kubrick'); ?></h3> <div class="cancel-comment-reply"> <small><?php cancel_comment_reply_link() ?></small> </div> <?php if ( get_option('comment_registration') && !$user_ID ) : ?> <p><?php printf(__('You must be <a href="%s">logged in</a> to post a comment.', 'kubrick'), get_option('siteurl') . '/wp-login.php?redirect_to=' . urlencode(get_permalink())); ?></p> <?php else : ?> <form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform"> <?php comment_id_fields(); ?> <?php if ( $user_ID ) : ?> <p><?php printf(__('Logged in as <a href="%1$s">%2$s</a>.', 'kubrick'), get_option('siteurl') . '/wp-admin/profile.php', $user_identity); ?> <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout" title="<?php _e('Log out of this account', 'kubrick'); ?>"><?php _e('Logout &raquo;', 'kubrick'); ?></a></p> <?php else : ?> <p><input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="22" tabindex="1" <?php if ($req) echo "aria-required='true'"; ?> /> <label for="author"><small><?php _e('Name', 'kubrick'); ?> <?php if ($req) _e("(required)", "kubrick"); ?></small></label></p> <p><input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="22" tabindex="2" <?php if ($req) echo "aria-required='true'"; ?> /> <label for="email"><small><?php _e('E-mail (will not be published)', 'kubrick'); ?> <?php if ($req) _e("(required)", "kubrick"); ?></small></label></p> <p><input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="22" tabindex="3" /> <label for="url"><small><?php _e('Website', 'kubrick'); ?></small></label></p> <?php endif; ?> <!--<p><small><?php printf(__('<strong>XHTML:</strong> You can use these tags: <code>%s</code>', 'kubrick'), allowed_tags()); ?></small></p>--> <p><textarea name="comment" id="comment" cols="58" rows="10" tabindex="4"></textarea></p> <p><input name="submit" type="submit" id="submit" tabindex="5" value="<?php _e('Submit Comment', 'kubrick'); ?>" /> <input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" /> </p> <?php do_action('comment_form', $post->ID); ?> </form> <?php endif; // If registration required and not logged in ?> </div> ?>
  • 49. Pluggable Comment form //comments.php comment_form();
  • 51. Navigation menu // functions.php add_theme_support( 'nav-menus' ); //header.php wp_list_pages('title_li='); wp_nav_menu(); * Will also work in a widget, with all widget enabled themes
  • 52.
  • 54. Custom Post Types function post_type_reviews() { register_post_type('reviews', array( 'label' => '‫,'ביקורות‬ 'singular_label' => '‫,'ביקורת‬ 'description' => '‫,'ביקורות תוספים לוורדפרס‬ 'public' => true )); } add_action('init', 'post_type_reviews');
  • 55. 2010: A Theme Odyssey
  • 56. 2010: A Theme Odyssey
  • 57. 2010: A Theme Odyssey
  • 58. 2010 - The perfect example
  • 59. 2010 - The perfect example Showcase for 3.0 new features
  • 60. 2010 - The perfect example Showcase for 3.0 new features Complete, yet flexible
  • 61. 2010 - The perfect example Showcase for 3.0 new features Complete, yet flexible Internationalized and translation ready
  • 62. 2010 - The perfect example Showcase for 3.0 new features Complete, yet flexible Internationalized and translation ready Fully documented
  • 63. A parent for your child theme
  • 64. A parent for your child theme /* Theme Name: My New Theme Description: Child of Twentyten Version: 0.1 Author: Yoav Farhi Author URI: http://blog.yoavfarhi.com Template: twentyten */
  • 65. A parent for your child theme /* Theme Name: My New Theme Description: Child of Twentyten Version: 0.1 Author: Yoav Farhi Author URI: http://blog.yoavfarhi.com Template: twentyten */ @import url(../twentyten/style.css); //optional
  • 66. Multisite // wp-config.php define( 'WP_ALLOW_MULTISITE', true );
  • 67.
  • 68.
  • 69.
  • 70.
  • 71. 3.0
  • 72. • Custom Background / Header 3.0
  • 73. • Custom Background / Header 3.0 • Pluggable comment form
  • 74. • Custom Background / Header 3.0 • Pluggable comment form • Navigation menu
  • 75. • Custom Background / Header 3.0 • Pluggable comment form • Navigation menu • Custom post types
  • 76. • Custom Background / Header 3.0 • Pluggable comment form • Navigation menu • Custom post types • New default theme
  • 77. • Custom Background / Header 3.0 • Pluggable comment form • Navigation menu • Custom post types • New default theme • Multisite
  • 78. • Custom Background / Header 3.0 • Pluggable comment form • Navigation menu • Custom post types • New default theme • Multisite ...
  • 79. Today we’ll talk about... Intro, WordPress developers meetup New features in recent versions 3.0 Getting involved with WordPress development Q&A
  • 80.
  • 81. Don’t be afraid, use the trunk
  • 82.
  • 83.
  • 84. Staying connected http://www.flickr.com/photos/versageek/
  • 85.
  • 86.
  • 87.
  • 89.
  • 90.
  • 91. Staying Connected • Trac, directly or via RSS or twitter (@wpdevel) • Weekly dev chats on irc #wordpress-dev (Freenode) • The development updates blog: http://wpdevel.wordpress.com/
  • 93. Contributing Testing Translating RTLizing etc...
  • 95. Next time? Caching Security Buddypress UGC SEO SVN E-commerce Plugins 101

Editor's Notes

  1. The reason we&amp;#x2019;re here!
  2. Q: Who&amp;#x2019;s running anything prior to 2.9?
  3. Movable type 5, released January 2010
  4. Ugly betty - MacBook, Windows, Netscape, and WordPress!
  5. to debug scripts and css: define(&apos;SCRIPT_DEBUG&apos;, true);Syntax highlighting (codepress) was dropped in 2.8.1
  6. to debug scripts and css: define(&apos;SCRIPT_DEBUG&apos;, true);Syntax highlighting (codepress) was dropped in 2.8.1
  7. + register_widget
  8. + register_widget
  9. + register_widget
  10. + register_widget
  11. to debug scripts and css: define(&apos;SCRIPT_DEBUG&apos;, true);Syntax highlighting (codepress) was dropped in 2.8.1
  12. + register_widget
  13. to debug scripts and css: define(&apos;SCRIPT_DEBUG&apos;, true);Syntax highlighting (codepress) was dropped in 2.8.1 Speed for css and js
  14. Custom post types = not easy in 3.0
  15. Custom post types = not easy in 3.0
  16. Custom post types = not easy in 3.0
  17. Custom post types = not easy in 3.0
  18. Custom post types = not easy in 3.0
  19. sip!
  20. The best way to start theme development
  21. The best way to start theme development
  22. The best way to start theme development
  23. The best way to start theme development
  24. same for rtl.css
  25. same for rtl.css
  26. Versions I&amp;#x2019;ve personally contributed to.
  27. Versions I&amp;#x2019;ve personally contributed to.
  28. Versions I&amp;#x2019;ve personally contributed to.
  29. Versions I&amp;#x2019;ve personally contributed to.
  30. Versions I&amp;#x2019;ve personally contributed to.
  31. Versions I&amp;#x2019;ve personally contributed to.
  32. Versions I&amp;#x2019;ve personally contributed to.
  33. subversion - version control system