Intereting Posts
Добавление объявлений после определенного количества абзацев в разделе «Бытие» Разрешение проигрывателя SoundCloud в выдержке после публикации отличный стиль для отдельной страницы Как сделать изображение в виде миниатюры в блоге? OAuth 2 и сохранение аутентифицированного пользователя Пользовательские типы сообщений и дополнительные пользовательские поля (с добавлением дополнительного поля повторителя) Meta Query с датой и временем в тот же день до заданного времени Блокировка одного блога многих из нескольких приложений Word / Word WordPress Ajax не работает правильно, используя Firefox, но работает в Chrome Неустранимая ошибка на pluggable.php Добавить столбец в таблицу плагинов Добавление класса в код короткого кода get_posts () возвращает один и тот же файл the_title () для каждого сообщения Как я могу фильтровать мусор из Microsoft Word из вставленного содержимого? как создать раздел внутри раздела с настройкой параметров тем

Добавить несуществующие страницы для навигации

Я хочу включить категории, которые перечислены в таблице non-native WordPress для отображения в «нормальной» навигации по страницам wp (таблица происходит из WP-Filebase и вызывается ->prefix .wpfb_cats )

Я поместил следующее в свой файл функций тем, который добавляет категории в навигацию и в правом иерархическом порядке. Однако ни у кого из них нет ссылок (я полагаю, это потому, что эти страницы не существуют как таковые в таблице wp_post )

Как я могу убедить wp распознавать их как страницы и, щелкнув по нему, отобразить содержимое?
Использую ли я правильный крюк?
Когда я повторяю объект WPPost в конце этой функции, эти дополнительные страницы находятся там, но только заголовок. Как показывать ссылки в навигации?

 add_filter('get_pages','msci_wpfb_frontend_menus',10,2); function msci_wpfb_frontend_menus($pages,$query){ global $wpdb; $wpfbCats=$wpdb->get_results("SELECT * FROM ".$wpdb->wpfilebase_cats." WHERE cat_exclude_browser='0' ", ARRAY_A ); foreach($wpfbCats as $k=>$v){ $wpfbId=9999;/*add improbably high id so there are no clashes with any actually existing pages**/ $id=$wpfbId+$v['cat_id']; if($v['cat_parent']==0){ $pid=4;/*display the wpfb top categories under this - existing - page*/ }else{ $pid=$wpfbId+$v['cat_parent']; } $name=$v['cat_name']; $page=array( 'ID' => $id, 'post_author' => $v['cat_owner'], 'post_date' => date('Ymd H:i:s'), 'post_date_gmt' => date('Ymd H:i:s'), 'post_content' => '####some content####', 'post_title' => $v['cat_name'], 'post_excerpt' => '', 'post_status' => 'publish', 'comment_status' => 'closed', 'ping_status' => 'closed', 'post_password' => '', 'post_name' => sanitize_title($v['cat_name']), 'to_ping' => '', 'pinged' => '', 'post_modified' => date('Ymd H:i:s'), 'post_modified_gmt' => date('Ymd H:i:s'), 'post_content_filtered' => '', 'post_parent' => $pid, 'guid' => ''.$id.'', 'menu_order' => $v['cat_order'], 'post_type' => 'page', 'post_mime_type' => '', 'comment_count' => 0, 'filter' => 'raw' ); $wpfbCat = new WP_Post (); foreach($page as $k=>$v){ $wpfbCat->$k=$v; } $pages[]=$wpfbCat; } return $pages; } 

Solutions Collecting From Web of "Добавить несуществующие страницы для навигации"

Попробуйте фильтр «page_link» и манипулируйте URL-адресом, если id превышает $wpfbId

http://codex.wordpress.org/Plugin_API/Filter_Reference

применяется к расчетному URL-адресу страницы функцией get_page_link. Аргументы функции фильтра: URL, идентификатор страницы. Обратите внимание, что есть также внутренний фильтр с именем _get_page_link, который можно использовать для фильтрации URL-адресов страниц, которые не обозначены как домашняя страница блога (те же аргументы). Обратите внимание, что это относится только к страницам WordPress, а не к сообщениям, пользовательским типам сообщений или вложениям.