Я создал пользовательский тип сообщения 'портфеля' и страницы с шаблоном, который получает все сообщения, соответствующие что пользовательский тип сообщения.
Проблема состоит в том, когда я выполняю развертку в фактическое сообщение, сообщение, кажется, находится в соответствии с 'блогом' в выделении главного меню (отображает current_page_parent как класс),
URL постоянной ссылки корректен: www.site.com/portfolio/post-slug
Но меню думает, что родитель является 'блогом'.
Это - очевидно, иерархическая проблема, но я не знаю, что сделать для фиксации ее.
Похоже, что это проблема с основным кодом Wordpress; код, который генерирует классы меню, добавляет current_page_parent к странице вашего блога везде, кроме просмотра статических шаблонов страниц.
(Это вскользь обсуждалось на http://core.trac.wordpress.org/ticket/13543).
Однако это можно обойти с помощью пользовательского кода, используя фильтр page_css_class. Например, добавьте в functions.php что-то вроде этого (не проверено на 100%):
function my_page_css_class($css_class, $page) { if (get_post_type()=='portfolio' || is_page(57)) { if ($page->ID == get_option('page_for_posts')) { foreach ($css_class as $k=>$v) { if ($v=='current_page_parent') unset($css_class[$k]); } } if ($page->ID==57) { $css_class[]='current_page_parent'; } } return $css_class; } add_filter('page_css_class','my_page_css_class',10,2);
Заменив 57 на ID вашей страницы портфолио, конечно. Это удалит current_page_parent при выводе страницы блога и добавит current_page_parent к странице портфолио, как при просмотре отдельного портфолио, так и при просмотре самой страницы портфолио.