SlideShare una empresa de Scribd logo
1 de 96
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!

Más contenido relacionado

La actualidad más candente

Introduction to Custom WordPress Themeing
Introduction to Custom WordPress ThemeingIntroduction to Custom WordPress Themeing
Introduction to Custom WordPress ThemeingJamie Schmid
 
Introduction to WordPress Theme Development
Introduction to WordPress Theme DevelopmentIntroduction to WordPress Theme Development
Introduction to WordPress Theme DevelopmentSitdhibong Laokok
 
Intro to WordPress theme development
Intro to WordPress theme developmentIntro to WordPress theme development
Intro to WordPress theme developmentThad Allender
 
The Way to Theme Enlightenment 2017
The Way to Theme Enlightenment 2017The Way to Theme Enlightenment 2017
The Way to Theme Enlightenment 2017Amanda 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 CorneliusWPJoburg
 
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 MeetupAngela 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 MeekerAngela 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 2015Joe Querin
 
Meetup child-themes
Meetup child-themesMeetup child-themes
Meetup child-themesDaisyOlsen
 
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 DevelopmentWisdmLabs
 
Customizing WordPress Themes
Customizing WordPress ThemesCustomizing WordPress Themes
Customizing WordPress ThemesLaura Hartwig
 
Child Themes in WordPress
Child Themes in WordPressChild Themes in WordPress
Child Themes in WordPressJeff Cohan
 
Cms & wordpress theme development 2011
Cms & wordpress theme development 2011Cms & wordpress theme development 2011
Cms & wordpress theme development 2011Dave Wallace
 

La actualidad más candente (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 a WordPress Developers Israel Meetup #1

Wordpress beyond blogging
Wordpress beyond bloggingWordpress beyond blogging
Wordpress beyond bloggingJulien Minguely
 
Lumberjack 2 - Supercharging WordPress in 2018
Lumberjack 2 - Supercharging WordPress in 2018Lumberjack 2 - Supercharging WordPress in 2018
Lumberjack 2 - Supercharging WordPress in 2018Joe Lambert
 
Childthemes ottawa-word camp-1919
Childthemes ottawa-word camp-1919Childthemes ottawa-word camp-1919
Childthemes ottawa-word camp-1919Paul 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 DevelopmentBrad Williams
 
Building Potent WordPress Websites
Building Potent WordPress WebsitesBuilding Potent WordPress Websites
Building Potent WordPress WebsitesKyle Cearley
 
How to make a WordPress theme
How to make a WordPress themeHow to make a WordPress theme
How to make a WordPress themeHardeep Asrani
 
WordPress for developers - phpday 2011
WordPress for developers -  phpday 2011WordPress for developers -  phpday 2011
WordPress for developers - phpday 2011Maurizio Pelizzone
 
[Bristol WordPress] Supercharging WordPress Development
[Bristol WordPress] Supercharging WordPress Development[Bristol WordPress] Supercharging WordPress Development
[Bristol WordPress] Supercharging WordPress DevelopmentAdam Tomat
 
WordPress 3.0 at DC PHP
WordPress 3.0 at DC PHPWordPress 3.0 at DC PHP
WordPress 3.0 at DC PHPandrewnacin
 
From WordPress With Love
From WordPress With LoveFrom WordPress With Love
From WordPress With LoveUp2 Technology
 
<Head> Presentation: Plugging Into Wordpress
<Head> Presentation: Plugging Into Wordpress<Head> Presentation: Plugging Into Wordpress
<Head> Presentation: Plugging Into WordpressMatt Harris
 
Getting started with WordPress development
Getting started with WordPress developmentGetting started with WordPress development
Getting started with WordPress developmentSteve Mortiboy
 
Creating Your First WordPress Plugin
Creating Your First WordPress PluginCreating Your First WordPress Plugin
Creating Your First WordPress PluginBrad Williams
 
Supercharging WordPress Development - Wordcamp Brighton 2019
Supercharging WordPress Development - Wordcamp Brighton 2019Supercharging WordPress Development - Wordcamp Brighton 2019
Supercharging WordPress Development - Wordcamp Brighton 2019Adam Tomat
 
WordPress
WordPressWordPress
WordPressrisager
 
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 2011David Carr
 

Similar a 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
 

Más de Yoav Farhi

Your First Gutenberg Block
Your First Gutenberg BlockYour First Gutenberg Block
Your First Gutenberg BlockYoav 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) WordPressYoav 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 coreYoav 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 WayYoav Farhi
 
Localization: beyond translation
Localization: beyond translationLocalization: beyond translation
Localization: beyond translationYoav 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 2014Yoav 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 ZeroizeYoav Farhi
 
Distributed: Reinventing the Workplace
Distributed: Reinventing the WorkplaceDistributed: Reinventing the Workplace
Distributed: Reinventing the WorkplaceYoav Farhi
 
וורדפרס.קום - אתרי וורדפרס בקלות
וורדפרס.קום - אתרי וורדפרס בקלותוורדפרס.קום - אתרי וורדפרס בקלות
וורדפרס.קום - אתרי וורדפרס בקלותYoav Farhi
 
WordCamp Jerusalem - Doing it Wrong
WordCamp Jerusalem - Doing it WrongWordCamp Jerusalem - Doing it Wrong
WordCamp Jerusalem - Doing it WrongYoav Farhi
 
התוסף הראשון שלי - וורדפרס
התוסף הראשון שלי - וורדפרסהתוסף הראשון שלי - וורדפרס
התוסף הראשון שלי - וורדפרסYoav Farhi
 
WordPress theme translation
WordPress theme translationWordPress theme translation
WordPress theme translationYoav Farhi
 
WordPress RTL
WordPress RTL WordPress RTL
WordPress RTL Yoav Farhi
 

Más de 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
 

Último

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 

Último (20)

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 

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

Notas del editor

  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