您可以使用过滤器添加将来的页面nav_menu_items_page
Notes:
<通过更改挂钩中的posttype,您可以对立柱或其他cpt执行相同的操作
nav_menu_items_{$post_type}
此筛选器用于
View All 页中的选项卡
Example:
function add_scheduled_pages($posts, $args, $post_type) {
$query = new WP_Query(
array(
\'post_type\' => \'page\',
\'post_status\' => array(\'publish\', \'future\')
)
);
$posts = $query->posts;
return $posts;
}
add_filter( \'nav_menu_items_page\', \'add_scheduled_pages\', 10, 3 );
现在,您可以将未来页面添加到菜单中,但此页面也将显示在前端菜单中。
因此,现在需要过滤所有未来的页面,并将其从前端删除。
它可以通过过滤器完成wp_nav_menu_objects
function remove_future_pages($sorted_menu_items, $args) {
$filter_futures = array_filter($sorted_menu_items, function($item) {
if(get_post_status($item->object_id) !== \'future\') {
return $item;
}
});
return $filter_futures;
}
add_filter( \'wp_nav_menu_objects\', \'remove_future_pages\', 10, 2 );