我正在为Wordpress创建一个插件页面。此插件页面包含iframe。但是你建议的php方法(而不是iframe html方法)也会很好。
有什么问题是这个插件页面没有响应。因为此插件页面尚未创建自己的管理菜单。这个插件页有什么问题?
这是代码:
<?php
/*
Plugin Name: Leo
Plugin URI: http://www.example.com
Description: Blabla
Author: Leo
Version: 1.1
Author URI: http://www.example.com
function schedule() {
?>
<h1>schedule</h1>
<a href="/wp-admin/admin.php?page=schedulesite">Show schedule</a><br />
<?PHP
}
function schedulesite() {
echo "<iframe style="width:100%;height:800px;border=0;"
src="http://www.example.com/schedule.php"></iframe>";
}
function scheduleAddMenu() {
add_menu_page('schedule', 'schedule', 10, __FILE__, 'schedule');
add_submenu_page(__FILE__, 'Show schedule', 'Show schedule', 10, 'schedulesite', 'schedulesite');
}
?>
答案 0 :(得分:2)
不确定是否修复此问题,但您需要更正此功能:
function schedulesite() {
echo "<iframe style="width:100%;height:800px;border=0;"
src="http://www.example.com/schedule.php"></iframe>";
}
将其更改为:
function schedulesite() {
echo '<iframe style="width:100%;height:800px;border=0;"
src="http://www.example.com/schedule.php"></iframe>';
}
当你应该有单引号(')
时,字符串周围有双引号(“)答案 1 :(得分:1)
永远不会调用您的函数scheduleAddMenu()
。您只需添加一个语句即可在文件末尾调用它。
答案 2 :(得分:0)
如果其他人对OP有同样的疑问,请按照步骤进行操作。
你的档案中有一些拼写错误
首先,看看标题。您没有关闭评论栏。在标题的末尾添加一个简单的*/
。它类似于:
/*
Plugin Name: Leo
Plugin URI: http://www.example.com
Description: Blabla
Author: Leo
Version: 1.1
Author URI: http://www.example.com
*/
其次,在函数schedule()
中,从href属性中的ulr中删除/wp-admin/
。像这样:
function schedule() {
?>
<h1>schedule</h1>
<a href="admin.php?page=schedulesite">Show schedule</a><br/>
<?php
}
第三,在函数schedulesite()
中,在双引号之前添加转义字符。像这样:
function schedulesite() {
echo "<iframe style=\"width:100%;height:800px;border=0;\"
src=\"http://www.example.com/schedule.php\"></iframe>";
}
第四,也是最重要的,你需要为menu_admin提供一个钩子。钩子是整个WordPress核心的一部分。
关于钩子:Plugin API/Hooks
关于admin_menu hook:Plugin API/Action Reference/admin menu
所以,在你的插件的末尾添加一个这样的简单钩子:
add_action('admin_menu', 'scheduleAddMenu');
您的插件将能够正常工作! 注意:也许,您需要转到插件页面并激活插件!