Таким образом, в основном виджет «Страницы» просто распечатывает список имен всех страниц в качестве ссылок (как вы, наверное, знаете).
Хотя эти теги привязки не имеют никаких названий, и это недоверчиво в мире SEO.
Я хотел бы изменить это, чтобы названия были просто как имя страницы.
Например, я хотел бы включить это:
<ul> <li class="page_item page-item-3307"><a href="http://www.domain.com/about-us/">About Us</a></li> <li class="page_item page-item-3315"><a href="http://www.domain.com/blog/">Blog</a></li> <li class="page_item page-item-100"><a href="http://www.domain.com/contact/">Contact Us</a></li> </ul>
В этом:
<ul> <li class="page_item page-item-3307"><a href="http://www.domain.com/about-us/" title="About Us">About Us</a></li> <li class="page_item page-item-3315"><a href="http://www.domain.com/blog/" title="Blog">Blog</a></li> <li class="page_item page-item-100"><a href="http://www.domain.com/contact/" title="Contact Us">Contact Us</a></li> </ul>
Я посмотрел вокруг файла wp-includes/default-widgets.php
, хотя он все проталкивается через функцию wp_list_pages
.
Что я должен сделать, чтобы добиться этого?
PS. Использование WordPress 3.8.1
Быстрое и короткое решение было бы –
function wpse_list_pages( $output ){ $output = preg_replace( '/<a(.*?)>(.*?)<\/a>/', '<a$1 title="$2">$2</a>', $output); return $output; } add_filter('wp_list_pages', 'wpse_list_pages');
И если вы хотите получить правильный путь, вы можете расширить Walker_Page
(ref: post-template.php) и установить ходок Widget Pages в класс с помощью widget_pages_args
hook