在管理菜单中添加链接到帖子的顶级项目

时间:2018-08-23 作者:Carlos

我正在尝试将顶级菜单项(而不是子菜单)添加到我的WP admin菜单中,该菜单链接到编辑帖子。原因是,我有不同的部分和自定义帖子类型,所以我希望菜单中的项目可以像快捷方式一样工作。

到目前为止,我能够使用下面的代码创建一个,这不是我的代码,但我修改了它。它只适用于一个项目,但我想创建更多的项目(两个或三个),但我一直无法正确地完成。

function add_custom_menu_item(){
    add_menu_page( \'Slider Menu\', \'Slider\', \'manage_options\', \'page_slug\', \'function\', \'dashicons-images-alt2\', 6 );
} 
add_action( \'admin_menu\', \'add_custom_menu_item\' );

function custom_menu_item_redirect() {

    $menu_redirect = isset($_GET[\'page\']) ? $_GET[\'page\'] : false;

    if($menu_redirect == \'page_slug\' ) {
       wp_safe_redirect( home_url(\'/wp-admin/post.php?post=1883&action=elementor\') );
       exit();
    }
}
add_action( \'admin_init\', \'custom_menu_item_redirect\', 1 );
如果有任何帮助,我将不胜感激。

谢谢

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

如何向每个重定向添加不同的重定向

如果elseif elseif像这样:

if ( condition 1 ) {
    // do something
} elseif ( condition 2 ) {
    // do something else
} elseif ( condition 3 ) {
    // do something else
}
假设您创建了三个顶级管理菜单项:

add_menu_page( \'Slider Menu\', \'Slider\', \'manage_options\', \'page_slug\', \'function\', \'dashicons-images-alt2\', 6 );
add_menu_page( \'Page Title\', \'Menu Title\', \'manage_options\', \'page_slug2\', \'function\' );
add_menu_page( \'Page Title 2\', \'Menu Title 2\', \'manage_options\', \'page_slug3\', \'function\' );
然后你的如果elseif elseif看起来像这样:

// For the "Slider" menu.
if ( $menu_redirect == \'page_slug\' ) {
   wp_safe_redirect( admin_url( \'post.php?post=1883&action=elementor\' ) );
   exit();
// For the "Menu Title" menu.
} elseif ( $menu_redirect == \'page_slug2\' ) {
   wp_safe_redirect( \'URL here\' );
   exit();
// For the "Menu Title 2" menu.
} elseif ( $menu_redirect == \'page_slug3\' ) {
   wp_safe_redirect( \'URL here\' );
   exit();
}
顺便说一句,我想你应该使用admin_url() 用于获取管理页面的URL。=)

结束

相关推荐

使用admin-post将表单数据提交到外部数据库

我正在WordPress中创建一个自定义表单来存储数据并将其发送到外部数据库。作为测试的一部分,我成功地创建了一个表单,通过单击submit按钮将表单引用回自身,将表单数据提交到外部数据库。我现在想利用WordPress管理帖子功能,而不是让表单引用回自身。我已经正确设置了操作挂钩,因为在提交表单后,我会使用以下方式显示$\\u POST变量:<form action=\"<?php echo esc_url( admin_url( \'admin-post.php\' ) ); ?>\