Posts Tagged ‘php’

PHP PDF Libraries

PDFs are easy! Like riding a...oh.

PDFs are easy! Like riding a...oh.

I wanted to do something I figured would be relatively simple. After all, we're doing it in .Net with a third-party library: Create a PDF with text from a database with vector graphics incorporated in the page. Turns out, it's pretty easy if you want a paid solution; numerous libraries exist for PHP that are non-free. If you insist on going free-only though, be warned: here be dragons (maybe).

Continue reading this entry ▶

Comments

WordPress Tip: Adding Custom Menus to a Theme

If you're using WordPress 3.0 or above (which, if you're using WordPress, you really should be), you have the option of adding custom menus to your theme without extra plugins.

In the past, this was managed via plugins such as "Page Links To" and "Exclude Pages." Now, this can all be managed within the WordPress admin console and in your theme, with a decent amount of customization.

In this tutorial, I'm assuming you know the basics of PHP (enough to create your own theme, at least).

To tell WordPress that this theme supports menus, add the following code to your theme's functions.php file:

// I want to add a header and footer
register_nav_menus( array(
        'header' => 'Top Navigation',
        'footer' => 'Top Navigation',
));

To use a menu in your theme files, you will need to add a line similar to what's shown here. I added this in my header.php file for the top navigation, and added a similar line to footer.php:

wp_nav_menu('sort_column=menu_order&menu_class=header-nav&menu=header');

There are many more options available for how your menu is displayed; see the WordPress Codex page for wp_nav_menu.

To create your new menus in WordPress, go to the admin console, click Appearances > Menus. This screen is fairly self-explanatory. I was able to replace three plugins and some custom header and footer code using only this method, in about 10 minutes (including research on wp_nav_menu).

For even more hardcore customization using custom walkers (a feature described in the Codex), check out Christian Budschedl's excellent post, Improve Your WordPress Navigation Output.

Happy blogging!

Comments