在发布页面/帖子之前,我想在后端的菜单部分添加计划页面/帖子。请查看屏幕截图:
在后端的菜单部分添加预定的页面或帖子
1 个回复
最合适的回答,由SO网友:Shibi 整理而成
您可以使用过滤器添加将来的页面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 );
结束