Nothing To Lose

If you don’t have it, how can you lose it!
Subscribe

Archive for the ‘Blog’

Getting page and subpage and parent(s) name in title bar with wordpress.

August 20, 2009 By: Dexter Category: Blog, PHP, Tutorial, Web Development, Wordpress

Had been working with wordpress (2.8.1) lately for some web development work. Now there were some section of the site which are sub pages of some parent page again which are sub pages of some category.

lets say you have we have a scenario like this
Products is the main category. Then it has two sub categories say Laptops and Desktops
And Laptops has sub categories 14 inches, 17 inches
Desktops have sub categories Home, Office, Game Station.

When the user browses to a page say Game Station you want to display on the title bar:

Website Name » Products
Website Name » Products » Desktops
Website Name » Products » Desktops » Game Station
or
Website Name » Products » Laptops
etc
I will assume that you already know how to have pages arranged in categories and subcategories in wordpress.

What we need is to do is use few available inbuilt functions of wordpress

1. get_post_ancestors() Read more..

this one get the ancestor of the given page/post id

2. the_ID() Read More..

this get you the current post id

3. get_post() Read More

gets the info of a given post id. Returns an object.

4. the_title()

returns the name of current page.

So here is the code.

Open the header.php (from the selected theme)

and add the following between the <title> and </title>

<title> Website Name: &raquo
<?php
$postsarray = (get_post_ancestors(the_ID()));
krsort($postsarray);
foreach($postsarray as $key=>$postid)
{
$post_ids = get_post($postid);
$title = $post_ids->post_title;
echo “$title &raquo “;
}
the_title();
?>
</title>

This will generate the title with the page and parent categories automatically.

Here is what is happening.

You can directly write you website name i.e hard code it, line

$postsarray = (get_post_ancestors(the_ID()));

get_post_ancestors() returns an indexed array containing the list of all the parent categories. Say if the current page is ‘Game Station’ then my array $postarray will be link (0=>’127′, 1=>’140′). We have used the function the_ID() inside the get_post_ancestors() so that the page id is automatically given accordingly to the current page. Note that the array contains the post id and not the name.

krsort($postsarray);

Since the array is from top category to lower we reverse sort it on the keys.

foreach($postsarray as $postid)
{
$post_ids = get_post($postid);
$title = $post_ids->post_title;
echo “$title &raquo “;
}

The foreach loop picks every post id which we give to a function get_post(), which returns a object. Here the object is in $post_ids. The object contains loads of info about the post, but we are only interested in the title. So $post_ids->post_title; returns the name of the currently created objects. We store this in $tilte;

echo “$title &raquo “;

This line get the categories displayed. Of course parent first.

the_title();

It is used here since the above functionality only returns the ancestors, so to display the name of the current page we use the_title() function.

If you want to display the name of you blog name instead of you website. replace ‘Website Name’ with <?php bloginfo(’name’) ?>
Well that is it for now.

Blog Camp 2 - Pune

June 10, 2009 By: Dexter Category: Blog, Camp

Blog Camp 2 - Pune

Blog Camp 2 - Pune

BlogCampPune is a FREE unconference focusing exclusively on blogging, organized by bloggers for bloggers. It‘s built upon the principles of the famous BarCamp (ad-hoc unconference) focussed on sharing, learning and new ideas. This is going to be an intense event with discussions, demos and interaction between attendees. Any blogger who wants to contribute is welcome and invited to join. In the spirit of BarCamp, if you attend, be prepared to present something (even if it’s just 10 minutes).

(Click on the Image on left to reach the blog camp site)


After being to few blog camp and bar camps, I am assuming that this blog camp will focus on more non techenical nature, i.e less talk about programming

Lets hope for the best.