Php WordPress自定义管理菜单及其子菜单
我整个上午都在看WP抄本以及网上的论坛帖子和Stackoverflow上的帖子,到目前为止运气都不好。 我正在尝试制作一个带有子菜单的顶级菜单,我已经能够让它运行到顶级菜单,但没有子菜单,现在我要么权限不足,要么php错误堆积如山 链接到php错误的屏幕截图: Functions.php代码Php WordPress自定义管理菜单及其子菜单,php,wordpress-theming,wordpress,Php,Wordpress Theming,Wordpress,我整个上午都在看WP抄本以及网上的论坛帖子和Stackoverflow上的帖子,到目前为止运气都不好。 我正在尝试制作一个带有子菜单的顶级菜单,我已经能够让它运行到顶级菜单,但没有子菜单,现在我要么权限不足,要么php错误堆积如山 链接到php错误的屏幕截图: Functions.php代码 defined( 'ABSPATH' ) or die( 'No script kiddies please!' ); /* ADDING FUNCIONALITY ===================
defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
/* ADDING FUNCIONALITY
============================== */
// Enqueues Javascript / CSS Files
add_action( 'wp_enqueue_scripts', 'my_enqueued_assets' );
function my_enqueued_assets() {
wp_enqueue_script( 'dragoncove-js', plugin_dir_url( __FILE__ ) . '/js/dragoncove.js', array( 'jquery' ), '1.0', true );
wp_enqueue_script( 'dragoncove-css', plugin_dir_url( __FILE__ ) . '/css/dragoncove.css', array( 'stylesheet' ), '1.0', true );
}
/* ADDING THE ADMIN MENU
======================================== */
// NEW MENU TEST
add_action( 'admin_menu', 'dragoncove_adminmenu' );
function dragoncove_adminmenu() {
add_menu_page( 'dragoncove_adminmenu', 'Dragon Cove', 'manage_options', 'dragoncove/dragoncove.php', '', plugins_url( 'dragoncove/images/icon.png' ), 100 );
add_submenu_page( 'dragoncove_adminmenu', 'Font Awesome Page', 'Font Awesome Page', 'manage_options', 'fontawesomemenu_page', 'fontawesomemenu_page_callback' );
}
// Admin Page
function dragoncove_adminmenu_page(){
if ( !current_user_can( 'manage_options' ) ) {
wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
}
echo '<div class="wrap">';
echo '<h2>Dragon Cove Admin Page</h2>';
echo '<form>
<div class="row">
<div class="large-12">
<input type="text" name="news" value="news_update" placeholder="news update" />
</div>
</div>
</form>';
echo '</div>';
}
// Font Awesome Page
function dragoncove_fontawesomemenu_page(){
echo '<div class="wrap">';
echo '<h2>Dragon Cove Sub Page</h2>';
echo '<form>
<div class="row">
<div class="large-12">
<p>Something will probably go here one day</p>
</div>
</div>
</form>';
echo '</div>';
}
// Font Awesome Page Callback
function fontawesomemenu_page_callback() {
echo '<div class="wrap"><div id="icon-tools" class="icon32"></div>';
echo '<h2>My Custom Submenu Page</h2>';
echo '</div>';
}
?>
是参数问题,现已修复。下面是其他人想要的代码。 编辑:只是稍微整理一下
defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
/* ADDING FUNCIONALITY
====================================== */
// Enqueues Javascript / CSS Files
add_action( 'wp_enqueue_scripts', 'my_enqueued_assets' );
function my_enqueued_assets() {
wp_enqueue_script( 'dragoncove-js', plugin_dir_url( __FILE__ ) . '/js/dragoncove.js', array( 'jquery' ), '1.0', true );
wp_enqueue_script( 'dragoncove-css', plugin_dir_url( __FILE__ ) . '/css/dragoncove.css', array( 'stylesheet' ), '1.0', true );
}
/* ADDING THE ADMIN MENU
============================ */
// NEW MENU TEST
add_action( 'admin_menu', 'dragoncove_menu' );
function dragoncove_menu() {
add_menu_page( 'dragoncove_adminmenu', 'Dragon Cove', 'manage_options', 'dragoncove_adminmenu_page', 'dragoncove_page', plugins_url( 'dragoncove/images/icon.png' ), 100 );
add_submenu_page( 'dragoncove_adminmenu_page', 'Font Awesome Page', 'Font Awesome Page', 'manage_options', 'fontawesomemenu_page', 'fontawesomemenu_page' );
}
/* Admin Page */
function dragoncove_page() {
if ( !current_user_can( 'manage_options' ) ) {
wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
}
echo '<div class="wrap">';
echo '<h2>Dragon Cove Plugin</h2>';
echo '<p>Here is where the form would go if I actually had options.</p>';
echo '<form>
<div class="row">
<div class="large-12">
<input type="text" name="news" value="news_update" placeholder="news update" />
</div>
</div>
</form>';
echo '</div>';
}
// Font Awesome Page
function fontawesomemenu_page() {
echo '<div class="wrap"><div id="icon-tools" class="icon32"></div>';
echo '<h2>My Custom Submenu Page</h2>';
echo '</div>';
}
“无法重新声明”函数错误是非常自我解释的。除了这是第一次也是唯一一次调用它之外,我还远程引用了其他什么地方?错误消息会准确地告诉您在哪个插件中定义了同名函数。只需在主题中重命名它即可。问题是添加菜单页面下的参数:“dragoncove/dragoncove.php”