Карта сайта или исправляем wordpress plugin Dagon Design Sitemap Generator
Для того, чтобы в блоге на базе wordpress построить карту сайта, можно воспользоваться плагином Dagon Design Sitemap Generator. Однако, что уже стало традицией, и здесь нам придётся “допилить напильником”. Обратите внимание на картинку, на ней показан дефект. Исправим его…
Приведу “дефектный” участок кода:
/* * Generate page output */ function ddsg_display_pages($page_data, $num_pages, $page_start, $page_end, $comments_on_pages, $new_window, $show_page_date, $date_format) { $show_zero_comments = get_option('ddsg_show_zero_comments'); if ($num_pages == 0) return ""; if (($page_start == 0) && ($page_end == 0)) return ""; $t_out = ""; $t_out .= DDSG_PAGE_HEADER; $llevel = -1; for ($p = $page_start; $p <= $page_end; $p++) { $level = $page_data[$p]['level']; if ($level > $llevel) { $t_out .= '<ul>'; for ($k = $llevel + 1; $k < $level; $k++) { $t_out .= '<li>' . ddsg_find_parent_page($page_data, $p, $k) . ' (continued)<ul>'; } } if ($level == $llevel) { $t_out .= '</li>'; } if ($level < $llevel) { $t_out .= '</li>'; for ($k = $llevel; $k > $level; $k--) { $t_out .= '</ul></li>'; } } $the_title = htmlspecialchars(trim($page_data[$p]['title'])); if ($the_title == '') { $the_title = DDSG_NO_TITLE; } $t_out .= '<li><a href="' . get_permalink($page_data[$p]['id']) . '"'; $t_out .= ' title="' . strip_tags($the_title) . '"'; if ($new_window) { $t_out .= ' target="_blank"'; } $t_out .= '>' . $the_title . '</a>'; if ($show_page_date) { // $t_out .= ' ' . date($date_format, strtotime($page_data[$p]['date'])); $t_out .= ' ' . date_i18n($date_format, strtotime($page_data[$p]['date'])); } if ($comments_on_pages) { if ($show_zero_comments || ($page_data[$p]['comments'] > 0)) { $t_out .= ' (' . $page_data[$p]['comments'] . ')'; } } $llevel = $level; } $t_out .= '</li>' . "\n"; for ($k = $llevel; $k > 0; $k--) { $t_out .= '</ul></li>'; } $t_out .= '</ul>'; return $t_out; } /* * Generate post output */ function ddsg_display_posts($post_data, $num_posts, $post_start, $post_end, $comments_on_posts, $new_window, $show_post_date, $date_format) { $show_zero_comments = get_option('ddsg_show_zero_comments'); if ($num_posts == 0) return ""; if (($post_start == 0) && ($post_end == 0)) return ""; $t_out = ""; $t_out .= DDSG_POST_HEADER; $llevel = -1; for ($p = $post_start; $p <= $post_end; $p++) { $level = $post_data[$p]['level']; if ($level > $llevel) { $t_out .= '<ul>'; for ($k = $llevel + 1; $k < $level; $k++) { $t_out .= '<li>' . strip_tags(ddsg_find_parent_post($post_data, $p, $k)) . ' (continued)<ul>'; } } if ($level == $llevel) { $t_out .= '</li>'; } if ($level < $llevel) { $t_out .= '</li>'; for ($k = $llevel; $k > $level; $k--) { $t_out .= '</ul></li>'; } } if ($post_data[$p]['type'] == 'c') { $t_out .= '<li>' . DDSG_CAT_HEADER . ' '; $t_out .= '<a href="' . get_category_link($post_data[$p]['id']) . '"'; $t_out .= ' title="' . strip_tags($post_data[$p]['title']) . '"'; if ($new_window) { $t_out .= ' target="_blank"'; } $t_out .= '>' . $post_data[$p]['title'] . '</a>'; } else { $the_title = htmlspecialchars(trim($post_data[$p]['title'])); if ($the_title == '') { $the_title = DDSG_NO_TITLE; } $t_out .= '<li><a href="' . get_permalink($post_data[$p]['id']) . '"'; $t_out .= ' title="' . $the_title . '"'; if ($new_window) { $t_out .= ' target="_blank"'; } $t_out .= '>' . $the_title . '</a>'; if ($show_post_date) { // $t_out .= ' ' . date($date_format, strtotime($post_data[$p]['date'])); $t_out .= ' ' . date_i18n($date_format, strtotime($post_data[$p]['date'])); } if ($comments_on_posts) { if ($show_zero_comments || ($post_data[$p]['comments'] > 0)) { $t_out .= ' (' . $post_data[$p]['comments'] . ')'; } } } $llevel = $level; } $t_out .= '</li>'; for ($k = $llevel; $k > 0; $k--) { $t_out .= '</ul></li>'; } $t_out .= '</ul>'; return $t_out; }
Функция htmlspecialchars здесь явно лишняя (при условии использования WLW). Убиваем. Результат можно увидеть на карте сайта.
RSS комментарии
Обратная ссылка