SlideShare uma empresa 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!

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Semelhante 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
 

Semelhante 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
 

Mais 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
 

Mais 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

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
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
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
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
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
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
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Último (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
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...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
+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...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
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
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

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 do 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