WordPress 3.0 release has some awesome new features added to it.
How about the integration of Multi-Site functionality!
This allows us to have multiple sites for one install.
We can now easily
- Have multiple sites
- Show demo sites
- Allow others to signup for a WordPress site
- Even sell WordPress sites if you want and have the know how to set it up.
There is a small tweak to turn the multi-site feature on,
Edit your config.php
Before:
1 |
/** Absolute path to the WordPress directory. */ |
ADD:
1 |
define('WP_ALLOW_MULTISITE', true); |
Now in your Admin Dashboard under tools there will be a Network link.
It is there that you configure your network for multi-site and follow it’s further instructions.
Another new feature is the Custom Navigation Menus.
To activate this in existing themes you have to add the Menu registration function to the functions.php
For single menu simply add
1 2 3 4 5 |
add_action( 'init', 'register_my_menu' ); function register_my_menu() { register_nav_menu( 'primary-menu', __( 'Primary Menu' ) ); } |
Then display it by calling wp_nav_menu(); function like this
I’m adding a condition here, you don’t have to.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
if ( has_nav_menu( 'primary-menu' ) ) { wp_nav_menu( array( 'sort_column' => 'menu_order', 'container_id' => 'page-nav', 'container_class' => 'my-nav-class', 'menu_id' => 'menu', 'menu_class' => '', 'link_before' => '' , 'link_after' => '' , 'depth' => 3, 'theme_location' => 'primary-menu', 'fallback_cb' => '' ) ); } |
You can see I added some arguments to it for styling purposes.
A full list of arguments can be found here wp_menu_nav()
One issue with this menu is that it adds the UL element to the menu for you.
This proposes an issue when you want to add a link to your template.
Say you want to add a floated link to the far right of the menu, without adding a bunch of new markup.
You need to use a filter. To do this add a variable to the place you are calling the wp_nav_menu() function like this.
1 |
$my_menu = wp_nav_menu( $then_Your_args); |
Now in the functions.php we add a filter that looks something like this
1 2 3 4 5 6 7 8 9 |
function wp_nav_menu_add_menuclass($my_menu) { return str_replace( '</ul></div>', //Find the end of the menu '<li id="phone-tab"><a href="#" title="Contact Phone Numbers">Contact Info</a></li></ul></div>', //Add link $my_menu ); } add_filter('wp_nav_menu','wp_nav_menu_add_menuclass'); |
This will search out the closing UL and DIV elements for the menu and replace them with the new content.
If you want to add Multiple Menu Support simple add an array like this
1 2 3 4 5 6 7 8 9 10 11 12 |
add_action( 'init', 'register_my_menus' ); function register_my_menus() { register_nav_menus( array( 'primary-menu' => __( 'Primary Menu' ), 'secondary-menu' => __( 'Secondary Menu' ), 'tertiary-menu' => __( 'Tertiary Menu' ) 'cat-menu' => __( 'Category Menu' ), ) ); } |
There are plenty of other examples in the new default theme TwentyTen.
Like adding custom styles to the editor
Eg.
1 2 |
//Allows use to add custom styles to the editor add_editor_style(); |
Then create an editor-style.css file
See TwentyTen theme for an example.
If you have anything specific you would like me to write about or an example of something you would like me to go over let me now via twitter or use the contact page here.