• Howdy! Welcome to our community of more than 130.000 members devoted to web hosting. This is a great place to get special offers from web hosts and post your own requests or ads. To start posting sign up here. Cheers! /Peo, FreeWebSpace.net
managed wordpress hosting

trying to add my logo to a wordpress theme

}

// If there's a post type archive
if ( is_post_type_archive() )
$title = post_type_archive_title( '', false );

// If there's a month
if ( is_archive() && !empty($m) ) {
$my_year = substr($m, 0, 4);
$my_month = $wp_locale->get_month(substr($m, 4, 2));
$my_day = intval(substr($m, 6, 2));
$title = $my_year . ( $my_month ? $t_sep . $my_month : '' ) . ( $my_day ? $t_sep . $my_day : '' );
}

// If there's a year
if ( is_archive() && !empty($year) ) {
$title = $year;
if ( !empty($monthnum) )
$title .= $t_sep . $wp_locale->get_month($monthnum);
if ( !empty($day) )
$title .= $t_sep . zeroise($day, 2);
}

// If it's a search
if ( is_search() ) {
/* translators: 1: separator, 2: search phrase */
$title = sprintf(__('Search Results %1$s %2$s'), $t_sep, strip_tags($search));
}

// If it's a 404 page
if ( is_404() ) {
$title = __('Page not found');
}

$prefix = '';
if ( !empty($title) )
$prefix = " $sep ";

// Determines position of the separator and direction of the breadcrumb
if ( 'right' == $seplocation ) { // sep on right, so reverse the order
$title_array = explode( $t_sep, $title );
$title_array = array_reverse( $title_array );
$title = implode( " $sep ", $title_array ) . $prefix;
} else {
$title_array = explode( $t_sep, $title );
$title = $prefix . implode( " $sep ", $title_array );
}

$title = apply_filters('wp_title', $title, $sep, $seplocation);

// Send it out
if ( $display )
echo $title;
else
return $title;

}

/**
* Display or retrieve page title for post.
*
* This is optimized for single.php template file for displaying the post title.
*
* It does not support placing the separator after the title, but by leaving the
* prefix parameter empty, you can set the title separator manually. The prefix
* does not automatically place a space between the prefix, so if there should
* be a space, the parameter value will need to have it at the end.
*
* @since 0.71
*
* @param string $prefix Optional. What to display before the title.
* @param bool $display Optional, default is true. Whether to display or retrieve title.
* @return string|null Title when retrieving, null when displaying or failure.
*/
function single_post_title($prefix = '', $display = true) {
$_post = get_queried_object();

if ( !isset($_post->post_title) )
return;

$title = apply_filters('single_post_title', $_post->post_title, $_post);
if ( $display )
echo $prefix . $title;
else
return $title;
}

/**
* Display or retrieve title for a post type archive.
*
* This is optimized for archive.php and archive-{$post_type}.php template files
* for displaying the title of the post type.
*
* @since 3.1.0
*
* @param string $prefix Optional. What to display before the title.
* @param bool $display Optional, default is true. Whether to display or retrieve title.
* @return string|null Title when retrieving, null when displaying or failure.
*/
function post_type_archive_title( $prefix = '', $display = true ) {
if ( ! is_post_type_archive() )
return;

$post_type_obj = get_queried_object();
$title = apply_filters('post_type_archive_title', $post_type_obj->labels->name );

if ( $display )
echo $prefix . $title;
else
return $title;
}

/**
* Display or retrieve page title for category archive.
*
* This is useful for category template file or files, because it is optimized
* for category page title and with less overhead than {@link wp_title()}.
*
* It does not support placing the separator after the title, but by leaving the
* prefix parameter empty, you can set the title separator manually. The prefix
* does not automatically place a space between the prefix, so if there should
* be a space, the parameter value will need to have it at the end.
*
* @since 0.71
*
* @param string $prefix Optional. What to display before the title.
* @param bool $display Optional, default is true. Whether to display or retrieve title.
* @return string|null Title when retrieving, null when displaying or failure.
*/
function single_cat_title( $prefix = '', $display = true ) {
return single_term_title( $prefix, $display );
}

/**
* Display or retrieve page title for tag post archive.
*
* Useful for tag template files for displaying the tag page title. It has less
* overhead than {@link wp_title()}, because of its limited implementation.
*
* It does not support placing the separator after the title, but by leaving the
* prefix parameter empty, you can set the title separator manually. The prefix
* does not automatically place a space between the prefix, so if there should
* be a space, the parameter value will need to have it at the end.
*
* @since 2.3.0
*
* @param string $prefix Optional. What to display before the title.
* @param bool $display Optional, default is true. Whether to display or retrieve title.
* @return string|null Title when retrieving, null when displaying or failure.
*/
function single_tag_title( $prefix = '', $display = true ) {
return single_term_title( $prefix, $display );
}

/**
* Display or retrieve page title for taxonomy term archive.
*
* Useful for taxonomy term template files for displaying the taxonomy term page title.
* It has less overhead than {@link wp_title()}, because of its limited implementation.
*
* It does not support placing the separator after the title, but by leaving the
* prefix parameter empty, you can set the title separator manually. The prefix
* does not automatically place a space between the prefix, so if there should
* be a space, the parameter value will need to have it at the end.
*
* @since 3.1.0
*
* @param string $prefix Optional. What to display before the title.
* @param bool $display Optional, default is true. Whether to display or retrieve title.
* @return string|null Title when retrieving, null when displaying or failure.
*/
function single_term_title( $prefix = '', $display = true ) {
$term = get_queried_object();
 
if ( !$term )
return;

if ( is_category() )
$term_name = apply_filters( 'single_cat_title', $term->name );
elseif ( is_tag() )
$term_name = apply_filters( 'single_tag_title', $term->name );
elseif ( is_tax() )
$term_name = apply_filters( 'single_term_title', $term->name );
else
return;

if ( empty( $term_name ) )
return;

if ( $display )
echo $prefix . $term_name;
else
return $term_name;
}

/**
* Display or retrieve page title for post archive based on date.
*
* Useful for when the template only needs to display the month and year, if
* either are available. Optimized for just this purpose, so if it is all that
* is needed, should be better than {@link wp_title()}.
*
* It does not support placing the separator after the title, but by leaving the
* prefix parameter empty, you can set the title separator manually. The prefix
* does not automatically place a space between the prefix, so if there should
* be a space, the parameter value will need to have it at the end.
*
* @since 0.71
*
* @param string $prefix Optional. What to display before the title.
* @param bool $display Optional, default is true. Whether to display or retrieve title.
* @return string|null Title when retrieving, null when displaying or failure.
*/
function single_month_title($prefix = '', $display = true ) {
global $wp_locale;

$m = get_query_var('m');
$year = get_query_var('year');
$monthnum = get_query_var('monthnum');

if ( !empty($monthnum) && !empty($year) ) {
$my_year = $year;
$my_month = $wp_locale->get_month($monthnum);
} elseif ( !empty($m) ) {
$my_year = substr($m, 0, 4);
$my_month = $wp_locale->get_month(substr($m, 4, 2));
}

if ( empty($my_month) )
return false;

$result = $prefix . $my_month . $prefix . $my_year;

if ( !$display )
return $result;
echo $result;
}

/**
* Retrieve archive link content based on predefined or custom code.
*
* The format can be one of four styles. The 'link' for head element, 'option'
* for use in the select element, 'html' for use in list (either ol or ul HTML
* elements). Custom content is also supported using the before and after
* parameters.
*
* The 'link' format uses the link HTML element with the <em>archives</em>
* relationship. The before and after parameters are not used. The text
* parameter is used to describe the link.
*
* The 'option' format uses the option HTML element for use in select element.
* The value is the url parameter and the before and after parameters are used
* between the text description.
*
* The 'html' format, which is the default, uses the li HTML element for use in
* the list HTML elements. The before parameter is before the link and the after
* parameter is after the closing link.
*
* The custom format uses the before parameter before the link ('a' HTML
* element) and the after parameter after the closing link tag. If the above
* three values for the format are not used, then custom format is assumed.
*
* @since 1.0.0
*
* @param string $url URL to archive.
* @param string $text Archive text description.
* @param string $format Optional, default is 'html'. Can be 'link', 'option', 'html', or custom.
* @param string $before Optional.
* @param string $after Optional.
* @return string HTML link content for archive.
*/
function get_archives_link($url, $text, $format = 'html', $before = '', $after = '') {
$text = wptexturize($text);
$title_text = esc_attr($text);
$url = esc_url($url);

if ('link' == $format)
$link_html = "\t<link rel='archives' title='$title_text' href='$url' />\n";
elseif ('option' == $format)
$link_html = "\t<option value='$url'>$before $text $after</option>\n";
elseif ('html' == $format)
$link_html = "\t<li>$before<a href='$url' title='$title_text'>$text</a>$after</li>\n";
else // custom
$link_html = "\t$before<a href='$url' title='$title_text'>$text</a>$after\n";

$link_html = apply_filters( 'get_archives_link', $link_html );

return $link_html;
}

/**
* Display archive links based on type and format.
*
* The 'type' argument offers a few choices and by default will display monthly
* archive links. The other options for values are 'daily', 'weekly', 'monthly',
* 'yearly', 'postbypost' or 'alpha'. Both 'postbypost' and 'alpha' display the
* same archive link list, the difference between the two is that 'alpha'
* will order by post title and 'postbypost' will order by post date.
*
* The date archives will logically display dates with links to the archive post
* page. The 'postbypost' and 'alpha' values for 'type' argument will display
* the post titles.
*
* The 'limit' argument will only display a limited amount of links, specified
* by the 'limit' integer value. By default, there is no limit. The
* 'show_post_count' argument will show how many posts are within the archive.
* By default, the 'show_post_count' argument is set to false.
*
* For the 'format', 'before', and 'after' arguments, see {@link
* get_archives_link()}. The values of these arguments have to do with that
* function.
*
* @since 1.2.0
*
* @param string|array $args Optional. Override defaults.
*/
function wp_get_archives($args = '') {
global $wpdb, $wp_locale;

$defaults = array(
'type' => 'monthly', 'limit' => '',
'format' => 'html', 'before' => '',
'after' => '', 'show_post_count' => false,
'echo' => 1
);

$r = wp_parse_args( $args, $defaults );
extract( $r, EXTR_SKIP );

if ( '' == $type )
$type = 'monthly';

if ( '' != $limit ) {
$limit = absint($limit);
$limit = ' LIMIT '.$limit;
}

// this is what will separate dates on weekly archive links
$archive_week_separator = '–';

// over-ride general date format ? 0 = no: use the date format set in Options, 1 = yes: over-ride
$archive_date_format_over_ride = 0;

// options for daily archive (only if you over-ride the general date format)
$archive_day_date_format = 'Y/m/d';

// options for weekly archive (only if you over-ride the general date format)
$archive_week_start_date_format = 'Y/m/d';
$archive_week_end_date_format = 'Y/m/d';

if ( !$archive_date_format_over_ride ) {
$archive_day_date_format = get_option('date_format');
$archive_week_start_date_format = get_option('date_format');
$archive_week_end_date_format = get_option('date_format');
}

//filters
$where = apply_filters( 'getarchives_where', "WHERE post_type = 'post' AND post_status = 'publish'", $r );
$join = apply_filters( 'getarchives_join', '', $r );

$output = '';

if ( 'monthly' == $type ) {
$query = "SELECT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, count(ID) as posts FROM $wpdb->posts $join $where GROUP BY YEAR(post_date), MONTH(post_date) ORDER BY post_date DESC $limit";
$key = md5($query);
$cache = wp_cache_get( 'wp_get_archives' , 'general');
if ( !isset( $cache[ $key ] ) ) {
$arcresults = $wpdb->get_results($query);
$cache[ $key ] = $arcresults;
wp_cache_set( 'wp_get_archives', $cache, 'general' );
} else {
$arcresults = $cache[ $key ];
}
if ( $arcresults ) {
$afterafter = $after;
foreach ( (array) $arcresults as $arcresult ) {
$url = get_month_link( $arcresult->year, $arcresult->month );
/* translators: 1: month name, 2: 4-digit year */
$text = sprintf(__('%1$s %2$d'), $wp_locale->get_month($arcresult->month), $arcresult->year);
if ( $show_post_count )
$after = '&nbsp;('.$arcresult->posts.')' . $afterafter;
$output .= get_archives_link($url, $text, $format, $before, $after);
}
}
} elseif ('yearly' == $type) {
$query = "SELECT YEAR(post_date) AS `year`, count(ID) as posts FROM $wpdb->posts $join $where GROUP BY YEAR(post_date) ORDER BY post_date DESC $limit";
$key = md5($query);
$cache = wp_cache_get( 'wp_get_archives' , 'general');
if ( !isset( $cache[ $key ] ) ) {
$arcresults = $wpdb->get_results($query);
$cache[ $key ] = $arcresults;
wp_cache_set( 'wp_get_archives', $cache, 'general' );
} else {
$arcresults = $cache[ $key ];
}
if ($arcresults) {
$afterafter = $after;
foreach ( (array) $arcresults as $arcresult) {
$url = get_year_link($arcresult->year);
$text = sprintf('%d', $arcresult->year);
if ($show_post_count)
$after = '&nbsp;('.$arcresult->posts.')' . $afterafter;
$output .= get_archives_link($url, $text, $format, $before, $after);
}
}
} elseif ( 'daily' == $type ) {
$query = "SELECT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, DAYOFMONTH(post_date) AS `dayofmonth`, count(ID) as posts FROM $wpdb->posts $join $where GROUP BY YEAR(post_date), MONTH(post_date), DAYOFMONTH(post_date) ORDER BY post_date DESC $limit";
$key = md5($query);
$cache = wp_cache_get( 'wp_get_archives' , 'general');
if ( !isset( $cache[ $key ] ) ) {
$arcresults = $wpdb->get_results($query);
$cache[ $key ] = $arcresults;
wp_cache_set( 'wp_get_archives', $cache, 'general' );
} else {
$arcresults = $cache[ $key ];
}
if ( $arcresults ) {
$afterafter = $after;
foreach ( (array) $arcresults as $arcresult ) {
$url = get_day_link($arcresult->year, $arcresult->month, $arcresult->dayofmonth);
$date = sprintf('%1$d-%2$02d-%3$02d 00:00:00', $arcresult->year, $arcresult->month, $arcresult->dayofmonth);
$text = mysql2date($archive_day_date_format, $date);
if ($show_post_count)
$after = '&nbsp;('.$arcresult->posts.')'.$afterafter;
$output .= get_archives_link($url, $text, $format, $before, $after);
}
}
} elseif ( 'weekly' == $type ) {
$week = _wp_mysql_week( '`post_date`' );
$query = "SELECT DISTINCT $week AS `week`, YEAR( `post_date` ) AS `yr`, DATE_FORMAT( `post_date`, '%Y-%m-%d' ) AS `yyyymmdd`, count( `ID` ) AS `posts` FROM `$wpdb->posts` $join $where GROUP BY $week, YEAR( `post_date` ) ORDER BY `post_date` DESC $limit";
$key = md5($query);
$cache = wp_cache_get( 'wp_get_archives' , 'general');
if ( !isset( $cache[ $key ] ) ) {
$arcresults = $wpdb->get_results($query);
$cache[ $key ] = $arcresults;
wp_cache_set( 'wp_get_archives', $cache, 'general' );
} else {
$arcresults = $cache[ $key ];
}
$arc_w_last = '';
$afterafter = $after;
if ( $arcresults ) {
foreach ( (array) $arcresults as $arcresult ) {
if ( $arcresult->week != $arc_w_last ) {
$arc_year = $arcresult->yr;
$arc_w_last = $arcresult->week;
$arc_week = get_weekstartend($arcresult->yyyymmdd, get_option('start_of_week'));
$arc_week_start = date_i18n($archive_week_start_date_format, $arc_week['start']);
$arc_week_end = date_i18n($archive_week_end_date_format, $arc_week['end']);
$url = sprintf('%1$s/%2$s%3$sm%4$s%5$s%6$sw%7$s%8$d', home_url(), '', '?', '=', $arc_year, '&amp;', '=', $arcresult->week);
$text = $arc_week_start . $archive_week_separator . $arc_week_end;
if ($show_post_count)
$after = '&nbsp;('.$arcresult->posts.')'.$afterafter;
$output .= get_archives_link($url, $text, $format, $before, $after);
}
}
}
} elseif ( ( 'postbypost' == $type ) || ('alpha' == $type) ) {
$orderby = ('alpha' == $type) ? 'post_title ASC ' : 'post_date DESC ';
$query = "SELECT * FROM $wpdb->posts $join $where ORDER BY $orderby $limit";
$key = md5($query);
$cache = wp_cache_get( 'wp_get_archives' , 'general');
if ( !isset( $cache[ $key ] ) ) {
$arcresults = $wpdb->get_results($query);
$cache[ $key ] = $arcresults;
wp_cache_set( 'wp_get_archives', $cache, 'general' );
} else {
$arcresults = $cache[ $key ];
}
if ( $arcresults ) {
foreach ( (array) $arcresults as $arcresult ) {
if ( $arcresult->post_date != '0000-00-00 00:00:00' ) {
$url = get_permalink( $arcresult );
if ( $arcresult->post_title )
$text = strip_tags( apply_filters( 'the_title', $arcresult->post_title, $arcresult->ID ) );
else
$text = $arcresult->ID;
$output .= get_archives_link($url, $text, $format, $before, $after);
}
}
}
}
if ( $echo )
echo $output;
else
return $output;
}

/**
* Get number of days since the start of the week.
*
* @since 1.5.0
* @usedby get_calendar()
*
* @param int $num Number of day.
* @return int Days since the start of the week.
*/
function calendar_week_mod($num) {
$base = 7;
return ($num - $base*floor($num/$base));
}

/**
* Display calendar with days that have posts as links.
*
* The calendar is cached, which will be retrieved, if it exists. If there are
* no posts for the month, then it will not be displayed.
*
* @since 1.0.0
*
* @param bool $initial Optional, default is true. Use initial calendar names.
* @param bool $echo Optional, default is true. Set to false for return.
*/
function get_calendar($initial = true, $echo = true) {
global $wpdb, $m, $monthnum, $year, $wp_locale, $posts;

$cache = array();
$key = md5( $m . $monthnum . $year );
if ( $cache = wp_cache_get( 'get_calendar', 'calendar' ) ) {
if ( is_array($cache) && isset( $cache[ $key ] ) ) {
if ( $echo ) {
echo apply_filters( 'get_calendar', $cache[$key] );
return;
} else {
return apply_filters( 'get_calendar', $cache[$key] );
}
}
}

if ( !is_array($cache) )
$cache = array();

// Quick check. If we have no posts at all, abort!
if ( !$posts ) {
$gotsome = $wpdb->get_var("SELECT 1 as test FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' LIMIT 1");
if ( !$gotsome ) {
$cache[ $key ] = '';
wp_cache_set( 'get_calendar', $cache, 'calendar' );
return;
}
}

if ( isset($_GET['w']) )
$w = ''.intval($_GET['w']);

// week_begins = 0 stands for Sunday
$week_begins = intval(get_option('start_of_week'));

// Let's figure out when we are
if ( !empty($monthnum) && !empty($year) ) {
$thismonth = ''.zeroise(intval($monthnum), 2);
$thisyear = ''.intval($year);
} elseif ( !empty($w) ) {
// We need to get the month from MySQL
$thisyear = ''.intval(substr($m, 0, 4));
$d = (($w - 1) * 7) + 6; //it seems MySQL's weeks disagree with PHP's
$thismonth = $wpdb->get_var("SELECT DATE_FORMAT((DATE_ADD('{$thisyear}0101', INTERVAL $d DAY) ), '%m')");
} elseif ( !empty($m) ) {
$thisyear = ''.intval(substr($m, 0, 4));
if ( strlen($m) < 6 )
$thismonth = '01';
else
$thismonth = ''.zeroise(intval(substr($m, 4, 2)), 2);
} else {
$thisyear = gmdate('Y', current_time('timestamp'));
$thismonth = gmdate('m', current_time('timestamp'));
}

$unixmonth = mktime(0, 0 , 0, $thismonth, 1, $thisyear);
$last_day = date('t', $unixmonth);
 
// Get the next and previous month and year with at least one post
$previous = $wpdb->get_row("SELECT MONTH(post_date) AS month, YEAR(post_date) AS year
FROM $wpdb->posts
WHERE post_date < '$thisyear-$thismonth-01'
AND post_type = 'post' AND post_status = 'publish'
ORDER BY post_date DESC
LIMIT 1");
$next = $wpdb->get_row("SELECT MONTH(post_date) AS month, YEAR(post_date) AS year
FROM $wpdb->posts
WHERE post_date > '$thisyear-$thismonth-{$last_day} 23:59:59'
AND post_type = 'post' AND post_status = 'publish'
ORDER BY post_date ASC
LIMIT 1");

/* translators: Calendar caption: 1: month name, 2: 4-digit year */
$calendar_caption = _x('%1$s %2$s', 'calendar caption');
$calendar_output = '<table id="wp-calendar">
<caption>' . sprintf($calendar_caption, $wp_locale->get_month($thismonth), date('Y', $unixmonth)) . '</caption>
<thead>
<tr>';

$myweek = array();

for ( $wdcount=0; $wdcount<=6; $wdcount++ ) {
$myweek[] = $wp_locale->get_weekday(($wdcount+$week_begins)%7);
}

foreach ( $myweek as $wd ) {
$day_name = (true == $initial) ? $wp_locale->get_weekday_initial($wd) : $wp_locale->get_weekday_abbrev($wd);
$wd = esc_attr($wd);
$calendar_output .= "\n\t\t<th scope=\"col\" title=\"$wd\">$day_name</th>";
}

$calendar_output .= '
</tr>
</thead>

<tfoot>
<tr>';

if ( $previous ) {
$calendar_output .= "\n\t\t".'<td colspan="3" id="prev"><a href="' . get_month_link($previous->year, $previous->month) . '" title="' . esc_attr( sprintf(__('View posts for %1$s %2$s'), $wp_locale->get_month($previous->month), date('Y', mktime(0, 0 , 0, $previous->month, 1, $previous->year)))) . '">&laquo; ' . $wp_locale->get_month_abbrev($wp_locale->get_month($previous->month)) . '</a></td>';
} else {
$calendar_output .= "\n\t\t".'<td colspan="3" id="prev" class="pad">&nbsp;</td>';
}

$calendar_output .= "\n\t\t".'<td class="pad">&nbsp;</td>';

if ( $next ) {
$calendar_output .= "\n\t\t".'<td colspan="3" id="next"><a href="' . get_month_link($next->year, $next->month) . '" title="' . esc_attr( sprintf(__('View posts for %1$s %2$s'), $wp_locale->get_month($next->month), date('Y', mktime(0, 0 , 0, $next->month, 1, $next->year))) ) . '">' . $wp_locale->get_month_abbrev($wp_locale->get_month($next->month)) . ' &raquo;</a></td>';
} else {
$calendar_output .= "\n\t\t".'<td colspan="3" id="next" class="pad">&nbsp;</td>';
}

$calendar_output .= '
</tr>
</tfoot>

<tbody>
<tr>';

// Get days with posts
$dayswithposts = $wpdb->get_results("SELECT DISTINCT DAYOFMONTH(post_date)
FROM $wpdb->posts WHERE post_date >= '{$thisyear}-{$thismonth}-01 00:00:00'
AND post_type = 'post' AND post_status = 'publish'
AND post_date <= '{$thisyear}-{$thismonth}-{$last_day} 23:59:59'", ARRAY_N);
if ( $dayswithposts ) {
foreach ( (array) $dayswithposts as $daywith ) {
$daywithpost[] = $daywith[0];
}
} else {
$daywithpost = array();
}

if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false || stripos($_SERVER['HTTP_USER_AGENT'], 'camino') !== false || stripos($_SERVER['HTTP_USER_AGENT'], 'safari') !== false)
$ak_title_separator = "\n";
else
$ak_title_separator = ', ';

$ak_titles_for_day = array();
$ak_post_titles = $wpdb->get_results("SELECT ID, post_title, DAYOFMONTH(post_date) as dom "
."FROM $wpdb->posts "
."WHERE post_date >= '{$thisyear}-{$thismonth}-01 00:00:00' "
."AND post_date <= '{$thisyear}-{$thismonth}-{$last_day} 23:59:59' "
."AND post_type = 'post' AND post_status = 'publish'"
);
if ( $ak_post_titles ) {
foreach ( (array) $ak_post_titles as $ak_post_title ) {

$post_title = esc_attr( apply_filters( 'the_title', $ak_post_title->post_title, $ak_post_title->ID ) );

if ( empty($ak_titles_for_day['day_'.$ak_post_title->dom]) )
$ak_titles_for_day['day_'.$ak_post_title->dom] = '';
if ( empty($ak_titles_for_day["$ak_post_title->dom"]) ) // first one
$ak_titles_for_day["$ak_post_title->dom"] = $post_title;
else
$ak_titles_for_day["$ak_post_title->dom"] .= $ak_title_separator . $post_title;
}
}

// See how much we should pad in the beginning
$pad = calendar_week_mod(date('w', $unixmonth)-$week_begins);
if ( 0 != $pad )
$calendar_output .= "\n\t\t".'<td colspan="'. esc_attr($pad) .'" class="pad">&nbsp;</td>';

$daysinmonth = intval(date('t', $unixmonth));
for ( $day = 1; $day <= $daysinmonth; ++$day ) {
if ( isset($newrow) && $newrow )
$calendar_output .= "\n\t</tr>\n\t<tr>\n\t\t";
$newrow = false;

if ( $day == gmdate('j', current_time('timestamp')) && $thismonth == gmdate('m', current_time('timestamp')) && $thisyear == gmdate('Y', current_time('timestamp')) )
$calendar_output .= '<td id="today">';
else
$calendar_output .= '<td>';

if ( in_array($day, $daywithpost) ) // any posts today?
$calendar_output .= '<a href="' . get_day_link( $thisyear, $thismonth, $day ) . '" title="' . esc_attr( $ak_titles_for_day[ $day ] ) . "\">$day</a>";
else
$calendar_output .= $day;
$calendar_output .= '</td>';

if ( 6 == calendar_week_mod(date('w', mktime(0, 0 , 0, $thismonth, $day, $thisyear))-$week_begins) )
$newrow = true;
}

$pad = 7 - calendar_week_mod(date('w', mktime(0, 0 , 0, $thismonth, $day, $thisyear))-$week_begins);
if ( $pad != 0 && $pad != 7 )
$calendar_output .= "\n\t\t".'<td class="pad" colspan="'. esc_attr($pad) .'">&nbsp;</td>';

$calendar_output .= "\n\t</tr>\n\t</tbody>\n\t</table>";

$cache[ $key ] = $calendar_output;
wp_cache_set( 'get_calendar', $cache, 'calendar' );

if ( $echo )
echo apply_filters( 'get_calendar', $calendar_output );
else
return apply_filters( 'get_calendar', $calendar_output );

}

/**
* Purge the cached results of get_calendar.
*
* @see get_calendar
* @since 2.1.0
*/
function delete_get_calendar_cache() {
wp_cache_delete( 'get_calendar', 'calendar' );
}
add_action( 'save_post', 'delete_get_calendar_cache' );
add_action( 'delete_post', 'delete_get_calendar_cache' );
add_action( 'update_option_start_of_week', 'delete_get_calendar_cache' );
add_action( 'update_option_gmt_offset', 'delete_get_calendar_cache' );

/**
* Display all of the allowed tags in HTML format with attributes.
*
* This is useful for displaying in the comment area, which elements and
* attributes are supported. As well as any plugins which want to display it.
*
* @since 1.0.1
* @uses $allowedtags
*
* @return string HTML allowed tags entity encoded.
*/
function allowed_tags() {
global $allowedtags;
$allowed = '';
foreach ( (array) $allowedtags as $tag => $attributes ) {
$allowed .= '<'.$tag;
if ( 0 < count($attributes) ) {
foreach ( $attributes as $attribute => $limits ) {
$allowed .= ' '.$attribute.'=""';
}
}
$allowed .= '> ';
}
return htmlentities($allowed);
}

/***** Date/Time tags *****/

/**
* Outputs the date in iso8601 format for xml files.
*
* @since 1.0.0
*/
function the_date_xml() {
global $post;
echo mysql2date('Y-m-d', $post->post_date, false);
}

/**
* Display or Retrieve the date the current $post was written (once per date)
*
* Will only output the date if the current post's date is different from the
* previous one output.
*
* i.e. Only one date listing will show per day worth of posts shown in the loop, even if the
* function is called several times for each post.
*
* HTML output can be filtered with 'the_date'.
* Date string output can be filtered with 'get_the_date'.
*
* @since 0.71
* @uses get_the_date()
* @param string $d Optional. PHP date format defaults to the date_format option if not specified.
* @param string $before Optional. Output before the date.
* @param string $after Optional. Output after the date.
* @param bool $echo Optional, default is display. Whether to echo the date or return it.
* @return string|null Null if displaying, string if retrieving.
*/
function the_date( $d = '', $before = '', $after = '', $echo = true ) {
global $currentday, $previousday;
$the_date = '';
if ( $currentday != $previousday ) {
$the_date .= $before;
$the_date .= get_the_date( $d );
$the_date .= $after;
$previousday = $currentday;

$the_date = apply_filters('the_date', $the_date, $d, $before, $after);

if ( $echo )
echo $the_date;
else
return $the_date;
}

return null;
}

/**
* Retrieve the date the current $post was written.
*
* Unlike the_date() this function will always return the date.
* Modify output with 'get_the_date' filter.
*
* @since 3.0.0
*
* @param string $d Optional. PHP date format defaults to the date_format option if not specified.
* @return string|null Null if displaying, string if retrieving.
*/
function get_the_date( $d = '' ) {
global $post;
$the_date = '';

if ( '' == $d )
$the_date .= mysql2date(get_option('date_format'), $post->post_date);
else
$the_date .= mysql2date($d, $post->post_date);

return apply_filters('get_the_date', $the_date, $d);
}

/**
* Display the date on which the post was last modified.
*
* @since 2.1.0
*
* @param string $d Optional. PHP date format defaults to the date_format option if not specified.
* @param string $before Optional. Output before the date.
* @param string $after Optional. Output after the date.
* @param bool $echo Optional, default is display. Whether to echo the date or return it.
* @return string|null Null if displaying, string if retrieving.
*/
function the_modified_date($d = '', $before='', $after='', $echo = true) {

$the_modified_date = $before . get_the_modified_date($d) . $after;
$the_modified_date = apply_filters('the_modified_date', $the_modified_date, $d, $before, $after);

if ( $echo )
echo $the_modified_date;
else
return $the_modified_date;

}

/**
* Retrieve the date on which the post was last modified.
*
* @since 2.1.0
*
* @param string $d Optional. PHP date format. Defaults to the "date_format" option
* @return string
*/
function get_the_modified_date($d = '') {
if ( '' == $d )
$the_time = get_post_modified_time(get_option('date_format'), null, null, true);
else
$the_time = get_post_modified_time($d, null, null, true);
return apply_filters('get_the_modified_date', $the_time, $d);
}

/**
* Display the time at which the post was written.
*
* @since 0.71
*
* @param string $d Either 'G', 'U', or php date format.
*/
function the_time( $d = '' ) {
echo apply_filters('the_time', get_the_time( $d ), $d);
}

/**
* Retrieve the time at which the post was written.
*
* @since 1.5.0
*
* @param string $d Optional Either 'G', 'U', or php date format defaults to the value specified in the time_format option.
* @param int|object $post Optional post ID or object. Default is global $post object.
* @return string
*/
function get_the_time( $d = '', $post = null ) {
$post = get_post($post);

if ( '' == $d )
$the_time = get_post_time(get_option('time_format'), false, $post, true);
else
$the_time = get_post_time($d, false, $post, true);
return apply_filters('get_the_time', $the_time, $d, $post);
}

/**
* Retrieve the time at which the post was written.
*
* @since 2.0.0
*
* @param string $d Optional Either 'G', 'U', or php date format.
* @param bool $gmt Optional, default is false. Whether to return the gmt time.
* @param int|object $post Optional post ID or object. Default is global $post object.
* @param bool $translate Whether to translate the time string
* @return string
*/
function get_post_time( $d = 'U', $gmt = false, $post = null, $translate = false ) { // returns timestamp
$post = get_post($post);

if ( $gmt )
$time = $post->post_date_gmt;
else
$time = $post->post_date;

$time = mysql2date($d, $time, $translate);
return apply_filters('get_post_time', $time, $d, $gmt);
}

/**
* Display the time at which the post was last modified.
*
* @since 2.0.0
*
* @param string $d Optional Either 'G', 'U', or php date format defaults to the value specified in the time_format option.
*/
function the_modified_time($d = '') {
echo apply_filters('the_modified_time', get_the_modified_time($d), $d);
}

/**
* Retrieve the time at which the post was last modified.
*
* @since 2.0.0
*
* @param string $d Optional Either 'G', 'U', or php date format defaults to the value specified in the time_format option.
* @return string
*/
function get_the_modified_time($d = '') {
if ( '' == $d )
$the_time = get_post_modified_time(get_option('time_format'), null, null, true);
else
$the_time = get_post_modified_time($d, null, null, true);
return apply_filters('get_the_modified_time', $the_time, $d);
}

/**
* Retrieve the time at which the post was last modified.
*
* @since 2.0.0
*
* @param string $d Optional, default is 'U'. Either 'G', 'U', or php date format.
* @param bool $gmt Optional, default is false. Whether to return the gmt time.
* @param int|object $post Optional, default is global post object. A post_id or post object
* @param bool $translate Optional, default is false. Whether to translate the result
* @return string Returns timestamp
*/
function get_post_modified_time( $d = 'U', $gmt = false, $post = null, $translate = false ) {
$post = get_post($post);

if ( $gmt )
$time = $post->post_modified_gmt;
else
$time = $post->post_modified;
$time = mysql2date($d, $time, $translate);

return apply_filters('get_post_modified_time', $time, $d, $gmt);
}

/**
* Display the weekday on which the post was written.
*
* @since 0.71
* @uses $wp_locale
* @uses $post
*/
function the_weekday() {
global $wp_locale, $post;
$the_weekday = $wp_locale->get_weekday(mysql2date('w', $post->post_date, false));
$the_weekday = apply_filters('the_weekday', $the_weekday);
echo $the_weekday;
}

/**
* Display the weekday on which the post was written.
*
* Will only output the weekday if the current post's weekday is different from
* the previous one output.
*
* @since 0.71
*
* @param string $before Optional Output before the date.
* @param string $after Optional Output after the date.
*/
function the_weekday_date($before='',$after='') {
global $wp_locale, $post, $day, $previousweekday;
$the_weekday_date = '';
if ( $currentday != $previousweekday ) {
$the_weekday_date .= $before;
$the_weekday_date .= $wp_locale->get_weekday(mysql2date('w', $post->post_date, false));
$the_weekday_date .= $after;
$previousweekday = $currentday;
}
$the_weekday_date = apply_filters('the_weekday_date', $the_weekday_date, $before, $after);
echo $the_weekday_date;
}

/**
* Fire the wp_head action
*
* @since 1.2.0
* @uses do_action() Calls 'wp_head' hook.
*/
function wp_head() {
do_action('wp_head');
}

/**
* Fire the wp_footer action
*
* @since 1.5.1
* @uses do_action() Calls 'wp_footer' hook.
*/
function wp_footer() {
do_action('wp_footer');
}

/**
* Display the links to the general feeds.
*
* @since 2.8.0
*
* @param array $args Optional arguments.
*/
function feed_links( $args = array() ) {
if ( !current_theme_supports('automatic-feed-links') )
return;

$defaults = array(
/* translators: Separator between blog name and feed type in feed links */
'separator' => _x('&raquo;', 'feed link'),
/* translators: 1: blog title, 2: separator (raquo) */
'feedtitle' => __('%1$s %2$s Feed'),
/* translators: %s: blog title, 2: separator (raquo) */
'comstitle' => __('%1$s %2$s Comments Feed'),
);

$args = wp_parse_args( $args, $defaults );

echo '<link rel="alternate" type="' . feed_content_type() . '" title="' . esc_attr(sprintf( $args['feedtitle'], get_bloginfo('name'), $args['separator'] )) . '" href="' . get_feed_link() . "\" />\n";
echo '<link rel="alternate" type="' . feed_content_type() . '" title="' . esc_attr(sprintf( $args['comstitle'], get_bloginfo('name'), $args['separator'] )) . '" href="' . get_feed_link( 'comments_' . get_default_feed() ) . "\" />\n";
}

/**
* Display the links to the extra feeds such as category feeds.
*
* @since 2.8.0
*
* @param array $args Optional arguments.
*/
function feed_links_extra( $args = array() ) {
$defaults = array(
/* translators: Separator between blog name and feed type in feed links */
'separator' => _x('&raquo;', 'feed link'),
/* translators: 1: blog name, 2: separator(raquo), 3: post title */
'singletitle' => __('%1$s %2$s %3$s Comments Feed'),
/* translators: 1: blog name, 2: separator(raquo), 3: category name */
'cattitle' => __('%1$s %2$s %3$s Category Feed'),
/* translators: 1: blog name, 2: separator(raquo), 3: tag name */
'tagtitle' => __('%1$s %2$s %3$s Tag Feed'),
/* translators: 1: blog name, 2: separator(raquo), 3: author name */
'authortitle' => __('%1$s %2$s Posts by %3$s Feed'),
/* translators: 1: blog name, 2: separator(raquo), 3: search phrase */
'searchtitle' => __('%1$s %2$s Search Results for “%3$s” Feed'),
);

$args = wp_parse_args( $args, $defaults );

if ( is_single() || is_page() ) {
$id = 0;
$post = &get_post( $id );

if ( comments_open() || pings_open() || $post->comment_count > 0 ) {
$title = sprintf( $args['singletitle'], get_bloginfo('name'), $args['separator'], esc_html( get_the_title() ) );
$href = get_post_comments_feed_link( $post->ID );
}
} elseif ( is_category() ) {
$term = get_queried_object();

$title = sprintf( $args['cattitle'], get_bloginfo('name'), $args['separator'], $term->name );
$href = get_category_feed_link( $term->term_id );
} elseif ( is_tag() ) {
$term = get_queried_object();

$title = sprintf( $args['tagtitle'], get_bloginfo('name'), $args['separator'], $term->name );
$href = get_tag_feed_link( $term->term_id );
} elseif ( is_author() ) {
$author_id = intval( get_query_var('author') );

$title = sprintf( $args['authortitle'], get_bloginfo('name'), $args['separator'], get_the_author_meta( 'display_name', $author_id ) );
$href = get_author_feed_link( $author_id );
} elseif ( is_search() ) {
$title = sprintf( $args['searchtitle'], get_bloginfo('name'), $args['separator'], get_search_query( false ) );
$href = get_search_feed_link();
}
 
if ( isset($title) && isset($href) )
echo '<link rel="alternate" type="' . feed_content_type() . '" title="' . esc_attr( $title ) . '" href="' . esc_url( $href ) . '" />' . "\n";
}

/**
* Display the link to the Really Simple Discovery service endpoint.
*
* @link http://archipelago.phrasewise.com/rsd
* @since 2.0.0
*/
function rsd_link() {
echo '<link rel="EditURI" type="application/rsd+xml" title="RSD" href="' . get_bloginfo('wpurl') . "/xmlrpc.php?rsd\" />\n";
}

/**
* Display the link to the Windows Live Writer manifest file.
*
* @link http://msdn.microsoft.com/en-us/library/bb463265.aspx
* @since 2.3.1
*/
function wlwmanifest_link() {
echo '<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="'
. get_bloginfo('wpurl') . '/wp-includes/wlwmanifest.xml" /> ' . "\n";
}

/**
* Display a noindex meta tag if required by the blog configuration.
*
* If a blog is marked as not being public then the noindex meta tag will be
* output to tell web robots not to index the page content. Add this to the wp_head action.
* Typical usage is as a wp_head callback. add_action( 'wp_head', 'noindex' );
*
* @see wp_no_robots
*
* @since 2.1.0
*/
function noindex() {
// If the blog is not public, tell robots to go away.
if ( '0' == get_option('blog_public') )
wp_no_robots();
}

/**
* Display a noindex meta tag.
*
* Outputs a noindex meta tag that tells web robots not to index the page content.
* Typical usage is as a wp_head callback. add_action( 'wp_head', 'wp_no_robots' );
*
* @since 3.3.0
*/
function wp_no_robots() {
echo "<meta name='robots' content='noindex,nofollow' />\n";
}

/**
* Determine if TinyMCE is available.
*
* Checks to see if the user has deleted the tinymce files to slim down there WordPress install.
*
* @since 2.1.0
*
* @return bool Whether TinyMCE exists.
*/
function rich_edit_exists() {
global $wp_rich_edit_exists;
if ( !isset($wp_rich_edit_exists) )
$wp_rich_edit_exists = file_exists(ABSPATH . WPINC . '/js/tinymce/tiny_mce.js');
return $wp_rich_edit_exists;
}

/**
* Whether the user should have a WYSIWIG editor.
*
* Checks that the user requires a WYSIWIG editor and that the editor is
* supported in the users browser.
*
* @since 2.0.0
*
* @return bool
*/
function user_can_richedit() {
global $wp_rich_edit, $is_gecko, $is_opera, $is_safari, $is_chrome, $is_IE;

if ( !isset($wp_rich_edit) ) {
$wp_rich_edit = false;

if ( get_user_option( 'rich_editing' ) == 'true' || ! is_user_logged_in() ) { // default to 'true' for logged out users
if ( $is_safari ) {
$wp_rich_edit = ! wp_is_mobile() || ( preg_match( '!AppleWebKit/(\d+)!', $_SERVER['HTTP_USER_AGENT'], $match ) && intval( $match[1] ) >= 534 );
} elseif ( $is_gecko || $is_opera || $is_chrome || $is_IE ) {
$wp_rich_edit = true;
}
}
}

return apply_filters('user_can_richedit', $wp_rich_edit);
}

/**
* Find out which editor should be displayed by default.
*
* Works out which of the two editors to display as the current editor for a
* user.
*
* @since 2.5.0
*
* @return string Either 'tinymce', or 'html', or 'test'
*/
function wp_default_editor() {
$r = user_can_richedit() ? 'tinymce' : 'html'; // defaults
if ( $user = wp_get_current_user() ) { // look for cookie
$ed = get_user_setting('editor', 'tinymce');
$r = ( in_array($ed, array('tinymce', 'html', 'test') ) ) ? $ed : $r;
}
return apply_filters( 'wp_default_editor', $r ); // filter
}

/**
* Renders an editor.
*
* Using this function is the proper way to output all needed components for both TinyMCE and Quicktags.
* _WP_Editors should not be used directly. See http://core.trac.wordpress.org/ticket/17144.
*
* NOTE: Once initialized the TinyMCE editor cannot be safely moved in the DOM. For that reason
* running wp_editor() inside of a metabox is not a good idea unless only Quicktags is used.
* On the post edit screen several actions can be used to include additional editors
* containing TinyMCE: 'edit_page_form', 'edit_form_advanced' and 'dbx_post_sidebar'.
* See http://core.trac.wordpress.org/ticket/19173 for more information.
*
* @see wp-includes/class-wp-editor.php
* @since 3.3.0
*
* @param string $content Initial content for the editor.
* @param string $editor_id HTML ID attribute value for the textarea and TinyMCE. Can only be /[a-z]+/.
* @param array $settings See _WP_Editors::editor().
*/
function wp_editor( $content, $editor_id, $settings = array() ) {
if ( ! class_exists( '_WP_Editors' ) )
require( ABSPATH . WPINC . '/class-wp-editor.php' );

_WP_Editors::editor($content, $editor_id, $settings);
}

/**
* Retrieve the contents of the search WordPress query variable.
*
* The search query string is passed through {@link esc_attr()}
* to ensure that it is safe for placing in an html attribute.
*
* @since 2.3.0
* @uses esc_attr()
*
* @param bool $escaped Whether the result is escaped. Default true.
* Only use when you are later escaping it. Do not use unescaped.
* @return string
*/
function get_search_query( $escaped = true ) {
$query = apply_filters( 'get_search_query', get_query_var( 's' ) );
if ( $escaped )
$query = esc_attr( $query );
return $query;
}

/**
* Display the contents of the search query variable.
*
* The search query string is passed through {@link esc_attr()}
* to ensure that it is safe for placing in an html attribute.
*
* @uses esc_attr()
* @since 2.1.0
*/
function the_search_query() {
echo esc_attr( apply_filters( 'the_search_query', get_search_query( false ) ) );
}

/**
* Display the language attributes for the html tag.
*
* Builds up a set of html attributes containing the text direction and language
* information for the page.
*
* @since 2.1.0
*
* @param string $doctype The type of html document (xhtml|html).
*/
function language_attributes($doctype = 'html') {
$attributes = array();
$output = '';

if ( function_exists( 'is_rtl' ) )
$attributes[] = 'dir="' . ( is_rtl() ? 'rtl' : 'ltr' ) . '"';

if ( $lang = get_bloginfo('language') ) {
if ( get_option('html_type') == 'text/html' || $doctype == 'html' )
$attributes[] = "lang=\"$lang\"";

if ( get_option('html_type') != 'text/html' || $doctype == 'xhtml' )
$attributes[] = "xml:lang=\"$lang\"";
}

$output = implode(' ', $attributes);
$output = apply_filters('language_attributes', $output);
echo $output;
}

/**
* Retrieve paginated link for archive post pages.
*
* Technically, the function can be used to create paginated link list for any
* area. The 'base' argument is used to reference the url, which will be used to
* create the paginated links. The 'format' argument is then used for replacing
* the page number. It is however, most likely and by default, to be used on the
* archive post pages.
*
* The 'type' argument controls format of the returned value. The default is
* 'plain', which is just a string with the links separated by a newline
* character. The other possible values are either 'array' or 'list'. The
* 'array' value will return an array of the paginated link list to offer full
* control of display. The 'list' value will place all of the paginated links in
* an unordered HTML list.
*
* The 'total' argument is the total amount of pages and is an integer. The
* 'current' argument is the current page number and is also an integer.
*
* An example of the 'base' argument is "http://example.com/all_posts.php%_%"
* and the '%_%' is required. The '%_%' will be replaced by the contents of in
* the 'format' argument. An example for the 'format' argument is "?page=%#%"
* and the '%#%' is also required. The '%#%' will be replaced with the page
* number.
*
* You can include the previous and next links in the list by setting the
* 'prev_next' argument to true, which it is by default. You can set the
* previous text, by using the 'prev_text' argument. You can set the next text
* by setting the 'next_text' argument.
*
* If the 'show_all' argument is set to true, then it will show all of the pages
* instead of a short list of the pages near the current page. By default, the
* 'show_all' is set to false and controlled by the 'end_size' and 'mid_size'
* arguments. The 'end_size' argument is how many numbers on either the start
* and the end list edges, by default is 1. The 'mid_size' argument is how many
* numbers to either side of current page, but not including current page.
*
* It is possible to add query vars to the link by using the 'add_args' argument
* and see {@link add_query_arg()} for more information.
*
* @since 2.1.0
*
* @param string|array $args Optional. Override defaults.
* @return array|string String of page links or array of page links.
*/
function paginate_links( $args = '' ) {
$defaults = array(
'base' => '%_%', // http://example.com/all_posts.php%_% : %_% is replaced by format (below)
'format' => '?page=%#%', // ?page=%#% : %#% is replaced by the page number
'total' => 1,
'current' => 0,
'show_all' => false,
'prev_next' => true,
'prev_text' => __('&laquo; Previous'),
'next_text' => __('Next &raquo;'),
'end_size' => 1,
'mid_size' => 2,
'type' => 'plain',
'add_args' => false, // array of query args to add
'add_fragment' => ''
);

$args = wp_parse_args( $args, $defaults );
extract($args, EXTR_SKIP);

// Who knows what else people pass in $args
$total = (int) $total;
if ( $total < 2 )
return;
$current = (int) $current;
$end_size = 0 < (int) $end_size ? (int) $end_size : 1; // Out of bounds? Make it the default.
$mid_size = 0 <= (int) $mid_size ? (int) $mid_size : 2;
$add_args = is_array($add_args) ? $add_args : false;
$r = '';
$page_links = array();
$n = 0;
$dots = false;

if ( $prev_next && $current && 1 < $current ) :
$link = str_replace('%_%', 2 == $current ? '' : $format, $base);
$link = str_replace('%#%', $current - 1, $link);
if ( $add_args )
$link = add_query_arg( $add_args, $link );
$link .= $add_fragment;
$page_links[] = '<a class="prev page-numbers" href="' . esc_url( apply_filters( 'paginate_links', $link ) ) . '">' . $prev_text . '</a>';
endif;
for ( $n = 1; $n <= $total; $n++ ) :
$n_display = number_format_i18n($n);
if ( $n == $current ) :
$page_links[] = "<span class='page-numbers current'>$n_display</span>";
$dots = true;
else :
if ( $show_all || ( $n <= $end_size || ( $current && $n >= $current - $mid_size && $n <= $current + $mid_size ) || $n > $total - $end_size ) ) :
$link = str_replace('%_%', 1 == $n ? '' : $format, $base);
$link = str_replace('%#%', $n, $link);
if ( $add_args )
$link = add_query_arg( $add_args, $link );
$link .= $add_fragment;
$page_links[] = "<a class='page-numbers' href='" . esc_url( apply_filters( 'paginate_links', $link ) ) . "'>$n_display</a>";
$dots = true;
elseif ( $dots && !$show_all ) :
$page_links[] = '<span class="page-numbers dots">' . __( '&hellip;' ) . '</span>';
$dots = false;
endif;
endif;
endfor;
if ( $prev_next && $current && ( $current < $total || -1 == $total ) ) :
$link = str_replace('%_%', $format, $base);
$link = str_replace('%#%', $current + 1, $link);
if ( $add_args )
$link = add_query_arg( $add_args, $link );
$link .= $add_fragment;
$page_links[] = '<a class="next page-numbers" href="' . esc_url( apply_filters( 'paginate_links', $link ) ) . '">' . $next_text . '</a>';
endif;
switch ( $type ) :
case 'array' :
return $page_links;
break;
case 'list' :
$r .= "<ul class='page-numbers'>\n\t<li>";
$r .= join("</li>\n\t<li>", $page_links);
$r .= "</li>\n</ul>\n";
break;
default :
$r = join("\n", $page_links);
break;
endswitch;
return $r;
}

/**
* Registers an admin colour scheme css file.
*
* Allows a plugin to register a new admin colour scheme. For example:
* <code>
* wp_admin_css_color('classic', __('Classic'), admin_url("css/colors-classic.css"),
* array('#07273E', '#14568A', '#D54E21', '#2683AE'));
* </code>
*
* @since 2.5.0
*
* @param string $key The unique key for this theme.
* @param string $name The name of the theme.
* @param string $url The url of the css file containing the colour scheme.
* @param array $colors Optional An array of CSS color definitions which are used to give the user a feel for the theme.
*/
function wp_admin_css_color($key, $name, $url, $colors = array()) {
global $_wp_admin_css_colors;

if ( !isset($_wp_admin_css_colors) )
$_wp_admin_css_colors = array();

$_wp_admin_css_colors[$key] = (object) array('name' => $name, 'url' => $url, 'colors' => $colors);
}

/**
* Registers the default Admin color schemes
*
* @since 3.0.0
*/
function register_admin_color_schemes() {
wp_admin_css_color( 'classic', _x( 'Blue', 'admin color scheme' ), admin_url( 'css/colors-classic.css' ),
array( '#5589aa', '#cfdfe9', '#d1e5ee', '#eff8ff' ) );
wp_admin_css_color( 'fresh', _x( 'Gray', 'admin color scheme' ), admin_url( 'css/colors-fresh.css' ),
array( '#555', '#a0a0a0', '#ccc', '#f1f1f1' ) );
}

/**
* Display the URL of a WordPress admin CSS file.
*
* @see WP_Styles::_css_href and its style_loader_src filter.
*
* @since 2.3.0
*
* @param string $file file relative to wp-admin/ without its ".css" extension.
*/
function wp_admin_css_uri( $file = 'wp-admin' ) {
if ( defined('WP_INSTALLING') ) {
$_file = "./$file.css";
} else {
$_file = admin_url("$file.css");
}
$_file = add_query_arg( 'version', get_bloginfo( 'version' ), $_file );

return apply_filters( 'wp_admin_css_uri', $_file, $file );
}

/**
* Enqueues or directly prints a stylesheet link to the specified CSS file.
*
* "Intelligently" decides to enqueue or to print the CSS file. If the
* 'wp_print_styles' action has *not* yet been called, the CSS file will be
* enqueued. If the wp_print_styles action *has* been called, the CSS link will
* be printed. Printing may be forced by passing true as the $force_echo
* (second) parameter.
*
* For backward compatibility with WordPress 2.3 calling method: If the $file
* (first) parameter does not correspond to a registered CSS file, we assume
* $file is a file relative to wp-admin/ without its ".css" extension. A
* stylesheet link to that generated URL is printed.
*
 
lol You could have placed that in the code tags lol!

Okay, I think your theme uses the same one as Wordpress, which is likely why you have that issue.

I believe you should be able to find that div in this file:

dir/wp-includes/theme-compat/footer.php

Could you paste the code for that here.

Make sure to rap your code in code tags i.e. "[.code]Your code here[/code]" (Without the dot)

Thanks!
 
* @package WordPress
* @since 2.3.0
* @uses $wp_styles WordPress Styles Object
*
* @param string $file Optional. Style handle name or file name (without ".css" extension) relative
* to wp-admin/. Defaults to 'wp-admin'.
* @param bool $force_echo Optional. Force the stylesheet link to be printed rather than enqueued.
*/
function wp_admin_css( $file = 'wp-admin', $force_echo = false ) {
global $wp_styles;
if ( !is_a($wp_styles, 'WP_Styles') )
$wp_styles = new WP_Styles();

// For backward compatibility
$handle = 0 === strpos( $file, 'css/' ) ? substr( $file, 4 ) : $file;

if ( $wp_styles->query( $handle ) ) {
if ( $force_echo || did_action( 'wp_print_styles' ) ) // we already printed the style queue. Print this one immediately
wp_print_styles( $handle );
else // Add to style queue
wp_enqueue_style( $handle );
return;
}

echo apply_filters( 'wp_admin_css', "<link rel='stylesheet' href='" . esc_url( wp_admin_css_uri( $file ) ) . "' type='text/css' />\n", $file );
if ( function_exists( 'is_rtl' ) && is_rtl() )
echo apply_filters( 'wp_admin_css', "<link rel='stylesheet' href='" . esc_url( wp_admin_css_uri( "$file-rtl" ) ) . "' type='text/css' />\n", "$file-rtl" );
}

/**
* Enqueues the default ThickBox js and css.
*
* If any of the settings need to be changed, this can be done with another js
* file similar to media-upload.js. That file should
* require array('thickbox') to ensure it is loaded after.
*
* @since 2.5.0
*/
function add_thickbox() {
wp_enqueue_script( 'thickbox' );
wp_enqueue_style( 'thickbox' );

if ( is_network_admin() )
add_action( 'admin_head', '_thickbox_path_admin_subfolder' );
}

/**
* Display the XHTML generator that is generated on the wp_head hook.
*
* @since 2.5.0
*/
function wp_generator() {
the_generator( apply_filters( 'wp_generator_type', 'xhtml' ) );
}

/**
* Display the generator XML or Comment for RSS, ATOM, etc.
*
* Returns the correct generator type for the requested output format. Allows
* for a plugin to filter generators overall the the_generator filter.
*
* @since 2.5.0
* @uses apply_filters() Calls 'the_generator' hook.
*
* @param string $type The type of generator to output - (html|xhtml|atom|rss2|rdf|comment|export).
*/
function the_generator( $type ) {
echo apply_filters('the_generator', get_the_generator($type), $type) . "\n";
}

/**
* Creates the generator XML or Comment for RSS, ATOM, etc.
*
* Returns the correct generator type for the requested output format. Allows
* for a plugin to filter generators on an individual basis using the
* 'get_the_generator_{$type}' filter.
*
* @since 2.5.0
* @uses apply_filters() Calls 'get_the_generator_$type' hook.
*
* @param string $type The type of generator to return - (html|xhtml|atom|rss2|rdf|comment|export).
* @return string The HTML content for the generator.
*/
function get_the_generator( $type = '' ) {
if ( empty( $type ) ) {

$current_filter = current_filter();
if ( empty( $current_filter ) )
return;

switch ( $current_filter ) {
case 'rss2_head' :
case 'commentsrss2_head' :
$type = 'rss2';
break;
case 'rss_head' :
case 'opml_head' :
$type = 'comment';
break;
case 'rdf_header' :
$type = 'rdf';
break;
case 'atom_head' :
case 'comments_atom_head' :
case 'app_head' :
$type = 'atom';
break;
}
}

switch ( $type ) {
case 'html':
$gen = '<meta name="generator" content="WordPress ' . get_bloginfo( 'version' ) . '">';
break;
case 'xhtml':
$gen = '<meta name="generator" content="WordPress ' . get_bloginfo( 'version' ) . '" />';
break;
case 'atom':
$gen = '<generator uri="http://wordpress.org/" version="' . get_bloginfo_rss( 'version' ) . '">WordPress</generator>';
break;
case 'rss2':
$gen = '<generator>http://wordpress.org/?v=' . get_bloginfo_rss( 'version' ) . '</generator>';
break;
case 'rdf':
$gen = '<admin:generatorAgent rdf:resource="http://wordpress.org/?v=' . get_bloginfo_rss( 'version' ) . '" />';
break;
case 'comment':
$gen = '<!-- generator="WordPress/' . get_bloginfo( 'version' ) . '" -->';
break;
case 'export':
$gen = '<!-- generator="WordPress/' . get_bloginfo_rss('version') . '" created="'. date('Y-m-d H:i') . '" -->';
break;
}
return apply_filters( "get_the_generator_{$type}", $gen, $type );
}

/**
* Outputs the html checked attribute.
*
* Compares the first two arguments and if identical marks as checked
*
* @since 1.0.0
*
* @param mixed $checked One of the values to compare
* @param mixed $current (true) The other value to compare if not just true
* @param bool $echo Whether to echo or just return the string
* @return string html attribute or empty string
*/
function checked( $checked, $current = true, $echo = true ) {
return __checked_selected_helper( $checked, $current, $echo, 'checked' );
}

/**
* Outputs the html selected attribute.
*
* Compares the first two arguments and if identical marks as selected
*
* @since 1.0.0
*
* @param mixed $selected One of the values to compare
* @param mixed $current (true) The other value to compare if not just true
* @param bool $echo Whether to echo or just return the string
* @return string html attribute or empty string
*/
function selected( $selected, $current = true, $echo = true ) {
return __checked_selected_helper( $selected, $current, $echo, 'selected' );
}

/**
* Outputs the html disabled attribute.
*
* Compares the first two arguments and if identical marks as disabled
*
* @since 3.0.0
*
* @param mixed $disabled One of the values to compare
* @param mixed $current (true) The other value to compare if not just true
* @param bool $echo Whether to echo or just return the string
* @return string html attribute or empty string
*/
function disabled( $disabled, $current = true, $echo = true ) {
return __checked_selected_helper( $disabled, $current, $echo, 'disabled' );
}

/**
* Private helper function for checked, selected, and disabled.
*
* Compares the first two arguments and if identical marks as $type
*
* @since 2.8.0
* @access private
*
* @param any $helper One of the values to compare
* @param any $current (true) The other value to compare if not just true
* @param bool $echo Whether to echo or just return the string
* @param string $type The type of checked|selected|disabled we are doing
* @return string html attribute or empty string
*/
function __checked_selected_helper( $helper, $current, $echo, $type ) {
if ( (string) $helper === (string) $current )
$result = " $type='$type'";
else
$result = '';

if ( $echo )
echo $result;

return $result;
}
 
lol You could have placed that in the code tags lol!

Okay, I think your theme uses the same one as Wordpress, which is likely why you have that issue.

I believe you should be able to find that div in this file:

dir/wp-includes/theme-compat/footer.php

Could you paste the code for that here.

Make sure to rap your code in code tags i.e. "[.code][/code]" (Without the dot)

Thanks!

I tried to, but it wouldnt let me.

<?php
/**
* @package WordPress
* @subpackage Theme_Compat
* @deprecated 3.0
*
* This file is here for Backwards compatibility with old themes and will be removed in a future version
*
*/
_deprecated_file( sprintf( __( 'Theme without %1$s' ), basename(__FILE__) ), '3.0', null, sprintf( __('Please include a %1$s template in your theme.'), basename(__FILE__) ) );
?>

<hr />
<div id="footer" role="contentinfo">
<!-- If you'd like to support WordPress, having the "powered by" link somewhere on your blog is the best way; it's our only promotion or advertising. -->
<p>
<?php printf(__('%1$s is proudly powered by %2$s'), get_bloginfo('name'),
'<a href="http://wordpress.org/">WordPress</a>'); ?>
<br /><?php printf(__('%1$s and %2$s.'), '<a href="' . get_bloginfo('rss2_url') . '">' . __('Entries (RSS)') . '</a>', '<a href="' . get_bloginfo('comments_rss2_url') . '">' . __('Comments (RSS)') . '</a>'); ?>
<!-- <?php printf(__('%d queries. %s seconds.'), get_num_queries(), timer_stop(0, 3)); ?> -->
</p>
</div>
</div>

<!-- Gorgeous design by Michael Heilemann - http://binarybonsai.com/kubrick/ -->
<?php /* "Just what do you think you're doing Dave?" */ ?>

<?php wp_footer(); ?>
</body>
</html>
 
I tried to, but it wouldnt let me.

Ahh, okay, no problem.

I found where your footer is located, it's a custom one, and I searched just by looking at your page source, which is what I should have done originally.

Your footer is in:
/wp-content/themes/cordobo-green-park-2/functions.php

You need to delete:

HTML:
<li class="cat-item cat-item-1"><a href="http://blog.viprecycling.com/category/general/" title="View all posts filed under General">General</a>
</li>
	<li class="cat-item cat-item-6"><a href="http://blog.viprecycling.com/category/promotions/" title="View all posts filed under Promotions">Promotions</a>
</li>
<li class="page_item page-item-9"><a href="http://blog.viprecycling.com/about-us/">About Us</a></li>

Please paste that here as a copy in case you mess up your footer code! (/themes/cordobo-green-park-2/functions.php) :)
 
Last edited:
Ahh, okay, no problem.

I found where your footer is located, it's a custom one, and I searched just by looking at your page source, which is what I should have done originally.

Your footer is in:
/wp-content/themes/cordobo-green-park-2/functions.php

You need to delete:

HTML:
<li class="cat-item cat-item-1"><a href="http://blog.viprecycling.com/category/general/" title="View all posts filed under General">General</a>
</li>
	<li class="cat-item cat-item-6"><a href="http://blog.viprecycling.com/category/promotions/" title="View all posts filed under Promotions">Promotions</a>
</li>
<li class="page_item page-item-9"><a href="http://blog.viprecycling.com/about-us/">About Us</a></li>

Please paste that here as a copy in case you mess up your footer code! (/themes/cordobo-green-park-2/functions.php) :)

I tried looking for the code that you indicated, but couldnt find it anywhere.

However, at the bottom I did find the footer information that I am wanting to delete.

I tried to simply just delete it but it just messes the site up.
<?php
}

function greenpark2_options() { // Adds to menu
add_menu_page('greenpark2 Settings', __('Green Park 2 Settings', 'default'), 'edit_themes', __FILE__, 'greenpark2');
}


/*
Please leave the credits. Thanks!
*/
function greenpark2_footer() { ?>

<div id="footer" class="clearfix">
<p class="alignright">
<a href="#home" class="top-link"><?php _e('Back to Top', 'default'); ?></a>
</p>

<p>
&copy; <?php echo date("Y"); ?> <?php bloginfo('name'); ?>
&middot; <?php _e('Proudly powered by', 'default'); ?>
<a href="http://wordpress.org/" title="<?php _e('Blogsoftware by Wordpress', 'default'); ?>">WordPress</a>
<span class="amp">&amp;</span>
<a href="http://cordobo.com/green-park-2/" title="Cordobo Green Park 2 Beta 5">Green Park 2</a>
<?php _e('by', 'default'); ?>
<a href="http://cordobo.com/" title="Webdesign by Cordobo">Cordobo</a>.
</p>

<p class="signet">
<?php _e('Valid XHTML 1.0 Transitional | Valid CSS 3', 'default'); ?>
<br /><br />
<img src="<?php bloginfo('stylesheet_directory'); ?>/img/logo-cgp2.png" alt="Cordobo Green Park 2 logo" title="Cordobo Green Park 2" width="75" height="12" />
</p>

</div>



<?php
}



add_action('wp_footer', 'greenpark2_footer');

?>

Mainly I just want to delete the footer content, as well as the black bar as mentioned before.

This seems to be the place to do it.
 
I tried looking for the code that you indicated, but couldnt find it anywhere.

However, at the bottom I did find the footer information that I am wanting to delete.

I tried to simply just delete it but it just messes the site up.

Mainly I just want to delete the footer content, as well as the black bar as mentioned before.

This seems to be the place to do it.


Just change the bottom part of the page/code to this:

PHP:
<?php
}

function greenpark2_options() { // Adds to menu
	add_menu_page('greenpark2 Settings', __('Green Park 2 Settings', 'default'), 'edit_themes', __FILE__, 'greenpark2');
}


/*
   Please leave the credits. Thanks!
 */
function greenpark2_footer() { ?>

<?php
}
  
  add_action('wp_footer', 'greenpark2_footer');

?>

But, I'll be honest, I'm not sure where that black-bar is coming from. Can you post the full functions.php or the part above the above content, please?

Cheers....
 
Here is the functions.php


<?php


// Language files loading
function theme_init(){
load_theme_textdomain('default', get_template_directory() . '/languages');
}
add_action ('init', 'theme_init');



if ( function_exists('register_sidebar') ) {
register_sidebar(array(
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<div class="sb-title widgettitle">',
'after_title' => '</div>',
'name' => '1'
));
register_sidebar(array(
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<div class="sb-title widgettitle">',
'after_title' => '</div>',
'name' => '2'
));
register_sidebar(array(
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<div class="sb-title widgettitle">',
'after_title' => '</div>',
'name' => '3'
));
register_sidebar(array(
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<div class="sb-title widgettitle">',
'after_title' => '</div>',
'name' => '4'
));
}



// Generates the menu
function greenpark_globalnav() {
if ( $menu = str_replace( array( "\r", "\n", "\t" ), '', wp_list_pages('title_li=&echo=0&depth=1') ) )
echo apply_filters( 'globalnav_menu', $menu );
}



// http://sivel.net/2008/10/wp-27-comment-separation/
function list_pings($comment, $args, $depth) {
$GLOBALS['comment'] = $comment;
echo "<li id=\"comment-";
echo comment_ID();
echo "\" class=\"pings\">";
echo comment_author_link();
}


// Note: Custom Admin Panel Functions

add_action('admin_menu', 'greenpark2_options');
add_action('wp_head', 'greenpark2_feed');


function greenpark2_feed() {
$enable = get_option('greenpark2_feed_enable');
}


function greenpark2() {

if(isset($_POST['submitted']) and $_POST['submitted'] == 'yes') :
update_option("greenpark2_sidebar_about_title", stripslashes($_POST['sidebar_about_title']));
update_option("greenpark2_sidebar_about_content", stripslashes($_POST['sidebar_about_content']));
update_option("greenpark2_feed_uri", stripslashes($_POST['feed_uri']));
update_option("greenpark2_about_site", stripslashes($_POST['about_site']));
update_option("google_analytics", stripslashes($_POST['google_analytics']));
update_option("google_adsense_bottom", stripslashes($_POST['google_adsense_bottom']));
update_option("google_adsense_sidebar", stripslashes($_POST['google_adsense_sidebar']));

if(isset($_POST['feed_enable']) and $_POST['feed_enable'] == 'yes') :
update_option("greenpark2_feed_enable", "yes");
else :
update_option("greenpark2_feed_enable", "no");
endif;

if(isset($_POST['sidebar_about_title']) and $_POST['sidebar_about_title'] == '') {
update_option("greenpark2_sidebar_about_title", "About");
}

if(isset($_POST['sidebar_about_content']) and $_POST['sidebar_about_content'] == '') {
update_option("greenpark2_sidebar_about_content", "Change this text in the admin section of WordPress");
}

echo "<div id=\"message\" class=\"updated fade\"><p><strong>Your settings have been saved.</strong></p></div>";
endif;

if(get_option('greenpark2_sidebar_about_title') == '') {
update_option("greenpark2_sidebar_about_title", "About");
}

if(get_option('greenpark2_sidebar_about_content') == '') {
update_option("greenpark2_sidebar_about_content", "Change this text in the admin section of WordPress");
}

$data = array(
'feed' => array(
'uri' => get_option('greenpark2_feed_uri'),
'enable' => get_option('greenpark2_feed_enable')
),
'sidebar' => array(
'about_title' => get_option('greenpark2_sidebar_about_title'),
'about_content' => get_option('greenpark2_sidebar_about_content')
),
'aside' => get_option('greenpark2_aside_cat'),
'about' => get_option('greenpark2_about_site')
);
?>

<!-- Cordobo Green Park 2 settings -->
<div class="wrap">
<h2>Cordobo Green Park 2 Settings</h2>

<div class="settings_container" style="width: 100%; margin-right: -200px; float: left;">
<div style="margin-right: 200px;">
<form method="post" name="update_form" target="_self">


<h3 id="greenpark2_sidebar">Sidebar</h3>
<p>Sidebar box &nbsp; <a href="#greenpark2_sidebar_doc">( ? )</a></p>
<table class="form-table">
<tr>
<th>
Title:
</th>
<td>
<input type="text" name="sidebar_about_title" value="<?php echo $data['sidebar']['about_title']; ?>" size="35" />
</td>
</tr>
<tr>
<th>
Content:
</th>
<td>
<textarea name="sidebar_about_content" rows="10" style="width: 95%;"><?php echo $data['sidebar']['about_content']; ?></textarea>
</td>
</tr>
</table>
<br />


<h3 id="greenpark2_feedburner">Feedburner</h3>
<p>Feedburner information</p>
<table class="form-table">
<tr>
<th>
Feed URI:
</th>
<td>
http://feeds.feedburner.com/<input type="text" name="feed_uri" value="<?php echo $data['feed']['uri']; ?>" size="30" />
<br />Check to enable feedburner <input type="checkbox" name="feed_enable" <?php echo ($data['feed']['enable'] == 'yes' ? 'checked="checked"' : ''); ?> value="yes" />
</td>
</tr>
</table>
<br />


<h3 id="greenpark2_admanager">Ad Manager</h3>
<p>Code for Google Adsense.</p>
<table class="form-table">
<tr>
<th>
Google Adsense:
<br />(Bottom of Post)
</th>
<td>
<textarea name="google_adsense_bottom" style="width: 95%;" rows="10" /><?php echo get_option('google_adsense_bottom'); ?></textarea>
<br />Paste your Google Adsense Code for the bottom of each post.
<br /><strong>Size of 468x60 Recommended.</strong>
</td>
</tr>
</table>
<br />


<h3 id="greenpark2_misc">Misc</h3>
<p>Google Analytics.</p>
<table class="form-table">
<tr>
<th>
Google Analytics:
</th>
<td>
<textarea name="google_analytics" style="width: 95%;" rows="10" /><?php echo get_option('google_analytics'); ?></textarea>
<br />Paste your Google Analytics code here. It will appear at the end of each page.
</td>
</tr>
</table>

<p class="submit" id="jump_submit">
<input name="submitted" type="hidden" value="yes" />
<input type="submit" name="Submit" value="Save Changes" />
</p>
</form>
<br /><br /><br /><br />

<h2>Cordobo Green Park 2 Documentation</h2>

<h3 id="greenpark2_about_doc">About your new theme</h3>
<p>Thank you for using the Green Park 2 theme, a free premium wordpress theme by German webdesigner <a href="http://cordobo.com/about/">Andreas Jacob</a>.</p>
<p>Cordobo Green Park 2 is a <strong>simple &amp; elegant light-weight</strong> theme for Wordpress with a <strong>clean typography</strong>, built with <strong>seo and page-rendering optimizations</strong> in mind. Green Park 2 has been rebuild from scratch and supports Wordpress 2.7 and up. The theme is released as &quot;ALPHA&quot;, to let you know I’m still adding features and improvements.</p>
<p>If you need any support or want some tips, please visit <a href="http://cordobo.com/green-park-2/">Cordobo Green Park 2 project page</a></p>


<h3 id="greenpark2_logo_doc">Logo Setup</h3>
<p>
You can easily replace the "text logo" with your image.
Open the file "styles.css" in the themes folder
<ul>
<li>Find the text<br />
<code>Start EXAMPLE CODE for an image logo</code> (line 224)</li>

<li>Delete <code>/*</code> before<br />
<code>#logo,</code> (line 225)</li>

<li>Delete <code>*/</code> (line 230) after<br />
<code>.description</code> (line 229)</li>

<li>Find <code>logo.png</code> (line 228) and replace it with the name of your logo.</li>

<li>Change the height and width to fit your logo (line 226)<br />
<code>#logo, #logo a { display: block; height: 19px; width: 87px; }</code></li>

<li>Find the text<br />
<code>Start EXAMPLE CODE for a text logo</code> (line 234)</li>

<li>Add <code>/*</code> before<br />
<code>#branding</code> (line 235)</li>

<li>Add <code>*/</code> (line 239) after<br />
<code>#logo, .description { color: #868F98; float: left; margin: 17px 0 0 10px; }</code> (line 238)</li>

<li>Save your changes and upload the file style.css to your themes folder.</li>
</ul>
</p>


<h3 id="greenpark2_sidebar_doc">Sidebar</h3>
<p>
The &quot;Sidebar Box&quot; can be used for pretty anything. Personally, I use it as an &quot;About section&quot; to tell my readers a little bit about myself, but generally it's completely up to you: put your google adsense code in it, describe your website, add your photo&hellip;
</p>


<h3 id="greenpark2_tutorials_doc">Tutorials</h3>
<p>
List of tutorials based on this theme.
</p>
<p>
<ul>
<li><a href="http://cordobo.com/1119-provide-visual-feedback-css/">Provide visual feedback using CSS</a> &mdash; an introduction to the themes usage of CSS3</li>
</ul>
</p>


<h3 id="greenpark2_licence_doc">Licence</h3>
<p>
Released under the <a target="_blank" href="http://www.gnu.org/licenses/gpl.html">GPL License</a> (<a target="_blank" href="http://en.wikipedia.org/wiki/GNU_General_Public_License">What is the GPL</a>?)
</p>
<p>
Free to download, free to use, free to customize. Basically you can do whatever you want as long as you credit me with a link.
</p>

</div>
</div>

<div style="position: fixed; right: 20px; width: 170px; background:#F1F1F1; float: right; border: 1px solid #E3E3E3; -moz-border-radius: 6px; padding: 0 10px 10px;">
<h3 id="bordertitle">Navigation</h3>

<h4>Settings</h4>
<ul style="list-style-type: none; padding-left: 10px;">
<li><a href="#greenpark2_sidebar">Sidebar</a></li>
<li><a href="#greenpark2_feedburner">FeedBurner</a></li>
<li><a href="#greenpark2_admanager">Ad Manager</a></li>
<li><a href="#greenpark2_misc">Misc</a></li>
</ul>

<h4>Documentation</h4>
<ul style="list-style-type: none; padding-left: 10px;">
<li><a href="#greenpark2_about_doc">About this Theme</a></li>
<li><a href="#greenpark2_logo_doc">Logo setup</a></li>
<li><a href="#greenpark2_sidebar_doc">Sidebar</a></li>
<li><a href="#greenpark2_tutorials_doc">Tutorials</a></li>
<li><a href="#greenpark2_license_doc">License</a></li>
</ul>

<br/>
<small>&uarr; <a href="#wpwrap">Top</a> | <a href="#jump_submit">Goto &quot;Save&quot;</a></small>

</div>

<div class="clear"></div>

</div>
<?php
}

function greenpark2_options() { // Adds to menu
add_menu_page('greenpark2 Settings', __('Green Park 2 Settings', 'default'), 'edit_themes', __FILE__, 'greenpark2');
}


/*
Please leave the credits. Thanks!
*/
function greenpark2_footer() { ?>

<div id="footer" class="clearfix">
<p class="alignright">
<a href="#home" class="top-link"><?php _e('Back to Top', 'default'); ?></a>
</p>

<p>
&copy; <?php echo date("Y"); ?> <?php bloginfo('name'); ?>
&middot; <?php _e('Proudly powered by', 'default'); ?>
<a href="http://wordpress.org/" title="<?php _e('Blogsoftware by Wordpress', 'default'); ?>">WordPress</a>
<span class="amp">&amp;</span>
<a href="http://cordobo.com/green-park-2/" title="Cordobo Green Park 2 Beta 5">Green Park 2</a>
<?php _e('by', 'default'); ?>
<a href="http://cordobo.com/" title="Webdesign by Cordobo">Cordobo</a>.
</p>

<p class="signet">
<?php _e('Valid XHTML 1.0 Transitional | Valid CSS 3', 'default'); ?>
<br /><br />
<img src="<?php bloginfo('stylesheet_directory'); ?>/img/logo-cgp2.png" alt="Cordobo Green Park 2 logo" title="Cordobo Green Park 2" width="75" height="12" />
</p>

</div>



<?php
}



add_action('wp_footer', 'greenpark2_footer');

?>
 
Just change the bottom part of the page/code to this:

PHP:
<?php
}

function greenpark2_options() { // Adds to menu
	add_menu_page('greenpark2 Settings', __('Green Park 2 Settings', 'default'), 'edit_themes', __FILE__, 'greenpark2');
}


/*
   Please leave the credits. Thanks!
 */
function greenpark2_footer() { ?>

<?php
}
  
  add_action('wp_footer', 'greenpark2_footer');

?>

But, I'll be honest, I'm not sure where that black-bar is coming from. Can you post the full functions.php or the part above the above content, please?

Cheers....

That took care of the footer, but like you said, no idea what is causing the black menu bar at the bottom.
 
I messed something up, and now I cannot access the admin control panel.


Warning: Cannot modify header information - headers already sent by (output started at /home/georgelb/public_html/viprecycling.com/blog/wp-content/themes/cordobo-green-park-2/functions.php:326) in /home/georgelb/public_html/viprecycling.com/blog/wp-login.php on line 362

Warning: Cannot modify header information - headers already sent by (output started at /home/georgelb/public_html/viprecycling.com/blog/wp-content/themes/cordobo-green-park-2/functions.php:326) in /home/georgelb/public_html/viprecycling.com/blog/wp-login.php on line 374

Warning: Cannot modify header information - headers already sent by (output started at /home/georgelb/public_html/viprecycling.com/blog/wp-content/themes/cordobo-green-park-2/functions.php:326) in /home/georgelb/public_html/viprecycling.com/blog/wp-includes/pluggable.php on line 680

Warning: Cannot modify header information - headers already sent by (output started at /home/georgelb/public_html/viprecycling.com/blog/wp-content/themes/cordobo-green-park-2/functions.php:326) in /home/georgelb/public_html/viprecycling.com/blog/wp-includes/pluggable.php on line 681

Warning: Cannot modify header information - headers already sent by (output started at /home/georgelb/public_html/viprecycling.com/blog/wp-content/themes/cordobo-green-park-2/functions.php:326) in /home/georgelb/public_html/viprecycling.com/blog/wp-includes/pluggable.php on line 682

Warning: Cannot modify header information - headers already sent by (output started at /home/georgelb/public_html/viprecycling.com/blog/wp-content/themes/cordobo-green-park-2/functions.php:326) in /home/georgelb/public_html/viprecycling.com/blog/wp-includes/pluggable.php on line 881
 
Do you still have a backup of your template files?

I just re uploaded the functions.php template, and now it works.

I guess for some reason something I deleted, caused it to happen.

I can go into the footer.php file and make the edits the way I want, and delete the footer that shows now, and the black bar, but when I do that, it deletes the admincp settings that shows at the top as your viewing the homepage of the blog. If I could edit the footer without messing up the admincp settings, then that would be awesome.
 
after messing with this all some more last night, I found out where the black bar was coming from. It was a mod...not sure if it was a mod that came with the template or not, but anyways, it is now gone.

The other code was in functions.php but I think the problem before, was that I deleted to much code...so it was all down the bottom, and I just went line by line straight across, until it was all gone.

Thanks again to everyone who helped.
 
Back
Top