Plugins using date(‘U’) or time() may …

Plugins using date('U') or time() may have been expecting a timezone offset in previous versions of WordPress, and depending on the server setup this was true. This has changed in 3.0. We now tell PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher to not factor in timezones to ensure maximum portability across PHP versions and server setups, thus you’ll end up with UTC time when using those functions.

Use current_time('timestamp') to get the Unix timestamp with a timezone offset.

TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. references: #9588 #11672 #11665 r12727

#3-0, #dev-notes

Another reminder that escaping rules for…

Another reminder that escaping rules for options and transients changed a bit in 3.0.

#3-0, #dev-notes

Check out register_nav_menu(), register_…

Check out register_nav_menu(), register_nav_menus(), and the theme_location argument to wp_nav_menu() for a means of associating custom navigation menus with particular “locations” in your theme. The Twenty Ten theme offers an example.

#3-0, #dev-notes

During plugin activation, WP 3.0 checks …

During pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party activation, WP 3.0 checks to see if the plugin generates any output. If any output is generated a warning is shown to the user. Generating output during activation is usually a good sign that the plugin has spaces before the opening php tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) or that it generates warnings. This extra output can break feeds and cause “headers already sent” warnings. Please test your plugins against 3.0 and make sure your they do not generate unexpected output.

See tickets 13585 and 12089.

#3-0, #dev-notes

In preparation for 3.0, themes should wr…

In preparation for 3.0, themes should wrap calls to next_post_link() and previous_post_link() in is_singular() conditionals if those functions are being used on index.php/archive views.

See #10867 .

#3-0, #dev-notes, #themes

This is a reminder that as per ticket 12…

This is a reminder that as per ticket 12416, 3.0 changes the escaping rules for the option, site option, transient, and site transient functions. Before, they were inconsistent in whether they expected slashed or unslashed data. As of 3.0, they all expect unslashed data. This means $_POST, $_GET, etc. data needs to be stripped before being passed and that data pulled from the DB does not need to be slashed before being passed back to one of these functions. Many (probably most) plugins weren’t properly following the inconsistent rules before so we decided to make it simple and clear and clean up the mess. Note that the slashing is not used for DB security. That is handled by our prepare() function and mysql_real_escape_string(). The slashing rules are back compatback compat Backward compatibility - a desire to ensure that plugins and themes do not break under new releases - is a driving philosophy of WordPress. While it is a commonly accepted software development practice to break compatibility in major releases, WordPress strives to avoid this at all costs. Any backward incompatible change is carefully considered by the entire core development team and announced, with affected plugins often contacted. It should be noted that external libraries, such as jQuery, do have backward incompatible changes between major releases, which is often going to be a greater concern for developers. holdovers from the bad old days of magic quotes.

#3-0, #dev-notes

In yesterday’s dev chat, a number of peo…

In yesterday’s dev chat, a number of people volunteered to help with projects for 3.0. We agreed that each team will post weekly updates here on wpdevelwpdevel Formerly the development updates P2 blog at wpdevel.wordpress.com. It is now make/core and resides at make.wordpress.org/core. so that the community can keep up with the progress and weigh in on decisions as they come up. The first one up is the team of AaronCampbell, filosofo, Strider72 and PeteMall. They’ll be working with westi on figuring out the infrastructure and processes around the introduction of coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. plugins. For the sake of transparency, below is the email I sent them to outline the scope of the project. If anyone has suggestions for the team to take under consideration, catch them in IRCIRC Internet Relay Chat, a network where users can have conversations online. IRC channels are used widely by open source projects, and by WordPress. The primary WordPress channels are #wordpress and #wordpress-dev, on irc.freenode.net. at #wordpress-dev, or better yet, leave comments on their Monday posts here on wpdevel.

Hi guys. Thanks for volunteering to help get the core plugins system/infrastructure figured out. As you probably guessed, Peter is the lead developer taking point on this, but we thought it would be good to have a volunteer team to help move it forward.

At the core team meetupMeetup All local/regional gatherings that are officially a part of the WordPress world but are not WordCamps are organized through https://www.meetup.com/. A meetup is typically a chance for local WordPress users to get together and share new ideas and seek help from one another. Searching for ‘WordPress’ on meetup.com will help you find options in your area., we agreed that for core plugins to be successful as team development projects, they would need basically everything WordPress has: TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress., mailing list, support forums, etc. We also need to make it easier for there to be a multi-committercommitter A developer with commit access. WordPress has five lead developers and four permanent core developers with commit access. Additionally, the project usually has a few guest or component committers - a developer receiving commit access, generally for a single release cycle (sometimes renewed) and/or for a specific component. project. Peter has thought through a lot of these things, so hopefully you guys can chat and come to some agreement on what would be the most useful setup.

Once you agree on what we need to have in place for core pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party teams to start testing out the structure, if someone could write up what you propose we do, we can get some community feedback on it, and then pull in Barry to actually set up whatever we need systems-wise.

Aaron brought up a question this morning in IRC: what if a committer starts doing things that are not good for the core plugin? Part of your task is to propose the process by which such a person’s acts would be reviewed and dealt with. My instinct is for the other committers to bring it to the lead devs, and for the lead devs to remove commit privileges if someone is making bad commits. But again, if you guys can write up how you think it should be handled, then we can get community feedback before making any decisions on process.

The UIUI User interface for core plugins in the adminadmin (and super admin) is going to be a design challenge. I’m starting up a UI mailing list, and we’ll have a handful of UI design challenges for 3.0 to get more UI/UXUX User experience designers involved as contributors.

At the core team meetup, we identified a bunch of areas where it would be good to have a core plugin, but we’ll also need a process for deciding which areas to create a core plugin for, how to choose the committers for each, etc. If you guys can brainstorm a little around that… you guessed it: write up what you propose and we’ll get community feedback. 🙂

As mentioned in the dev chat, we want to do a better job of all the mini-projects being visible by having them post updates on wpdevel.wordpress.comWordPress.com An online implementation of WordPress code that lets you immediately access a new WordPress environment to publish your content. WordPress.com is a private company owned by Automattic that hosts the largest multisite in the world. This is arguably the best place to start blogging if you have never touched WordPress before. https://wordpress.com/. Since there will be about 6 mini-projects (you guys, menu management, bugs, merge, post types, etc), I think the best thing to do is what we did for the GSoC blogblog (versus network, site) this year, which was to give each person (or in this case, project) a specific day on which they’re expected to post their update. That way wpdevel will be getting an update from someone almost every day. I’ll add all four of you as authors to wpdevel, and you can decide who is going to be responsible for posting an update once a week. Since you’re the first mini-project I’m emailing, I’m going to assign you Monday as your day for posting an update each week. That will work well, I think, since your first update can basically introduce what you’re going to be doing and let people leave suggestions in the comments to help get you started.

For the sake of transparency, I’ll also post this email on wpdevel so people know what you’re tasked with doing.

If you have any questions, suggestions, etc, feel free to contact me anytime. And have fun! This is going to change the WordPress ecosystem, and you’re in on the ground floor–how cool is that?

#3-0, #core-plugins