我想在wordpress中编写一个新的插件。我的课程:
插件PHP文件:
<?php
/*
plugin-header (working)
*/
// Exit if accessed directly
defined('ABSPATH' || exit());
// Include classes
include('foo.php');
include('boo.php');
//add Init Hook
add_action('admin_menu','bohoo_admin');
function bohoo_admin() {
add_options_page('bohoo', 'someTitle', 'manage_options', __FILE__, 'createView');
}
function createView() {
$foo = new foo();
$boo = new boo();
return $foo->createFooDiv() . $boo->createBooDiv();
}
?>
我的foo.php:
<?php
class foo {
public function __construct() {
}
public function createFooDiv() {
return '<div><h2>Hi</h2></div>';
}
}
?>
我的boo.php:
<?php
class boo {
public function __construct() {
}
public function createBooDiv() {
return '<div> test </div>';
}
}
?>
现在我基本上尝试的是:HTML代码应该在两个不同的文件中,这些文件应该连接并显示(当然)。
我理解在WP中集成插件的方式:
使用add_options_page
- 方法指定插件的显示位置以及显示的代码。对于代码,您使用最后一个参数(在本例中为createView
- 方法。如果我的插件PHP文件中的createView()
看起来像这样,这个工作到目前为止:
function createView() {
//include HTML-Code directly
?>
<h1>Hello World</h1>
<?php
}
?>
当我包含boo.php
和foo.php
文件而不是直接包含HTML代码时会发生什么事情(因此没有显示任何内容并且出现错误)。我不确定我做错了什么,我也尝试在BOO
和FOO
的返回语句中使用HTML代码,但这也无济于事。我究竟做错了什么?或者根本不可能这样做?
答案 0 :(得分:0)
您需要打印/回显您的html内容。将createView更改为:
function createView() {
$foo = new foo();
$boo = new boo();
echo $foo->createFooDiv() . $boo->createBooDiv();
}
这就是在add_options docs page中完成的。
基本上当你使用php关闭和打开标签时:
?>
<h1>Some html</h1>
<?php
它相当于在两者之间打印内容:
echo '<h1>Some html</h1>';