WordPress 中的插件管理页面
Plugin Admin Pages in Wordpress
我正在尝试构建我的第一个 WordPress 插件,并且已经使用 add_menu_page() 创建了管理菜单标签,并在我的 functions.php 文件中包含了一个可调用函数。对于我的生活,我似乎无法添加任何 javascript 功能,或 link 到同一插件目录中的外部 php 页面。
有没有其他人能够做到这一点?
谢谢!
这是一个代码示例。代码有点笨拙,我想知道有没有办法改进这个/
function mt_sublevel_page() {
echo "<h2>" . __( 'Welcome', 'menu-test' ) . "</h2>";
echo '<div class="wrap">';
echo '<input type="button" value="Text Button" onclick="demo()" style="background-color:blue;">';
echo '</div>';
echo '<p class="test"></p>';
echo '<script>';
echo 'function demo() {var x = "Hello";document.getElementId("test").innerHTML=x;}';
echo '<script>';
}
这通常是我为管理页面加载 "mark-up" 文件的方式:
首先,将您的管理页面功能注册到 admin_menu
挂钩:
// Standard PHP Structure:
add_action( 'admin_menu', 'register_admin_page' );
// Using a Class Based structure
add_action( 'admin_menu', [$this, 'register_admin_page'] );
然后定义你的管理页面函数:
// Standard PHP Structure
function register_admin_page(){
add_menu_page( 'My Plugin', 'My Plugin', 'edit_posts', 'my-plugin', 'admin_markup', 'some-dashicon' );
}
// Class Based PHP Structure
public function register_admin_page(){
add_menu_page( 'My Plugin', 'My Plugin', 'edit_posts', 'my-plugin', [$this, 'admin_markup'], 'some-dashicon' );
}
现在,您可以定义 admin_markup
函数:
function admin_markup(){
require_once dirname(__FILE__).'/admin-markup.php';
}
这会将您带到这样的地方:
add_action( 'admin_menu', 'register_admin_page' );
function register_admin_page(){
add_menu_page( 'My Plugin', 'My Plugin', 'edit_posts', 'my-plugin', 'admin_markup', 'some-dashicon' );
}
function admin_markup(){
require_once dirname(__FILE__).'/admin-markup.php';
}
现在,在您的 admin-markup.php
文件中,您可以使用 admin_enqueue_scripts()
函数加载脚本和样式,根据需要设置页面样式。
我正在尝试构建我的第一个 WordPress 插件,并且已经使用 add_menu_page() 创建了管理菜单标签,并在我的 functions.php 文件中包含了一个可调用函数。对于我的生活,我似乎无法添加任何 javascript 功能,或 link 到同一插件目录中的外部 php 页面。
有没有其他人能够做到这一点?
谢谢!
这是一个代码示例。代码有点笨拙,我想知道有没有办法改进这个/
function mt_sublevel_page() {
echo "<h2>" . __( 'Welcome', 'menu-test' ) . "</h2>";
echo '<div class="wrap">';
echo '<input type="button" value="Text Button" onclick="demo()" style="background-color:blue;">';
echo '</div>';
echo '<p class="test"></p>';
echo '<script>';
echo 'function demo() {var x = "Hello";document.getElementId("test").innerHTML=x;}';
echo '<script>';
}
这通常是我为管理页面加载 "mark-up" 文件的方式:
首先,将您的管理页面功能注册到 admin_menu
挂钩:
// Standard PHP Structure:
add_action( 'admin_menu', 'register_admin_page' );
// Using a Class Based structure
add_action( 'admin_menu', [$this, 'register_admin_page'] );
然后定义你的管理页面函数:
// Standard PHP Structure
function register_admin_page(){
add_menu_page( 'My Plugin', 'My Plugin', 'edit_posts', 'my-plugin', 'admin_markup', 'some-dashicon' );
}
// Class Based PHP Structure
public function register_admin_page(){
add_menu_page( 'My Plugin', 'My Plugin', 'edit_posts', 'my-plugin', [$this, 'admin_markup'], 'some-dashicon' );
}
现在,您可以定义 admin_markup
函数:
function admin_markup(){
require_once dirname(__FILE__).'/admin-markup.php';
}
这会将您带到这样的地方:
add_action( 'admin_menu', 'register_admin_page' );
function register_admin_page(){
add_menu_page( 'My Plugin', 'My Plugin', 'edit_posts', 'my-plugin', 'admin_markup', 'some-dashicon' );
}
function admin_markup(){
require_once dirname(__FILE__).'/admin-markup.php';
}
现在,在您的 admin-markup.php
文件中,您可以使用 admin_enqueue_scripts()
函数加载脚本和样式,根据需要设置页面样式。