0

我正在为 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');
}
?>
4

3 回答 3

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>';
}

当您应该使用单引号 (') 时,您在字符串周围使用双引号 (")

于 2014-01-09T19:03:23.720 回答
1

你的函数scheduleAddMenu()永远不会被调用。您可以在文件末尾添加一条语句来调用它。

于 2013-10-10T23:48:20.720 回答
0

如果其他人对 OP 有同样的疑问,请按照步骤操作。

您的文件中有一些拼写错误。
首先,看标题。您没有关闭评论块。*/在标题的末尾添加一个简单的。它是这样的:

/*
Plugin Name: Leo
Plugin URI: http://www.example.com
Description: Blabla
Author: Leo
Version: 1.1
Author URI: http://www.example.com
*/

其次,在 function中,从 href 属性中的 ulr 中schedule()删除。/wp-admin/像这样:

function schedule() {   
  ?>
    <h1>schedule</h1>
    <a href="admin.php?page=schedulesite">Show schedule</a><br/>
  <?php
}

第三,在 functionschedulesite()中,在双引号前添加转义字符。像这样:

function schedulesite() {
  echo "<iframe style=\"width:100%;height:800px;border=0;\"
src=\"http://www.example.com/schedule.php\"></iframe>";
}

第四也是最重要的,你需要给 menu_admin 一个钩子。这些钩子是整个 WordPress 核心的一部分。

关于 hooks:Plugin API/Hooks
关于 admin_menu hook:Plugin API/Action Reference/admin menu

因此,在插件的末尾添加一个简单的钩子,如下所示:

add_action('admin_menu', 'scheduleAddMenu');

你的插件将能够工作!
注意:也许,您需要转到插件页面并激活您的插件!

于 2016-04-06T15:05:25.430 回答