我有一个WordPress插件脚本
<?php
/*
Plugin Name: Saswat Routroy
Plugin URI: http://www.maheshchari.com/
Description: Description of my plugin
Author URI: http://www.maheshchari.com/
*/
class new_menu {
function new_menu()
{
add_action('admin_menu', array(&$this, 'my_admin_menu'));
}
function my_admin_menu()
{ //create a main admin panel
//create a sub admin panel link above
add_menu_page('CMS', 'CMS', 'administrator', 8, array(&$this,'overview'));
add_submenu_page(8, 'View CMS Page', 'View CMS Page', 'administrator', 1, array(&$this,'view_page'));
add_submenu_page(8, 'Add CMS Page', 'Add CMS Page', 'administrator', 2, array(&$this,'add_page'));
//These functions adds sub menu for different kinds of admin panel on back end
add_options_page('Pages Options', 'Saswat Plugin', 'administrator', basename(__file__),array(&$this, 'my_plugin_options'));
add_posts_page('Pages posts', 'Saswat Plugin', 'administrator', basename(__file__),array(&$this, 'my_plugin_posts'));
add_media_page('Pages media', 'Saswat Plugin', 'administrator', basename(__file__),array(&$this, 'my_plugin_media'));
add_pages_page('Pages pages', 'Saswat Plugin', 'administrator', basename(__file__),array(&$this, 'my_plugin_pages'));
add_users_page('Pages users', 'Saswat Plugin', 'administrator', basename(__file__),array(&$this, 'my_plugin_users'));
add_management_page('maheshchari', 'Mahesh Plugin', 'administrator', basename(__file__),array(&$this, 'my_plugin_tools'));
add_theme_page('maheshchari', 'Mahesh Plugin', 'administrator', basename(__file__),array(&$this, 'my_plugin_themes'));
}
function overview()
{
echo '<h2>My Wordpress Plugin Overview</h2>';
}
function view_page()
{
echo '<h2>My Wordpress Plugin Settings</h2>';
}
function add_page()
{
//echo '<h2>My Wordpress Plugin Generel</h2>';
echo "<form method='POST' action=''>
<ul>
<li><label for='fname'>Family Name (Sir Name)<span> *</span>: </label>
<input id='fname' maxlength='45' size='10' name='fname' value='' /></li>
<li><label for='lname'>Last Name<span> *</span>: </label>
<input id='lname' maxlength='45' size='10' name='lname' value='' /></li>
<li><label for='lname'>Last Name<span> *</span>: </label>
<input type='submit' maxlength='45' size='10' name='lname' value='' /></li>
</ul>
</form>";
}
function my_plugin_options()
{
echo '<h2>My Wordpress Plugin Options</h2>';
}
function my_plugin_posts()
{
echo '<h2>My Wordpress Plugin posts</h2>';
}
function my_plugin_media()
{
echo '<h2>My Wordpress Plugin media</h2>';
}
function my_plugin_pages()
{
echo '<h2>My Wordpress Plugin pages</h2>';
}
function my_plugin_users()
{
echo '<h2>My Wordpress Plugin users</h2>';
}
function my_plugin_tools()
{
echo '<h2>My Wordpress Plugin tools</h2>';
}
function my_plugin_themes()
{
echo '<h2>My Wordpress Plugin themes</h2>';
}
}
$mybackuper = &new new_menu();//instance of the plugin class
?>
文件保存在'wp-content'plugins'admin-menu'new_menu.php目录下
现在在函数add_page()中,我正在回显html。我不想这样做,有没有办法在函数下加载。php页面而不回显脚本?
说一些像
<?php get_template_part( 'content-home' );?>
我不太明白你的意思。下面是一种存储不带echo的输出的方法:
public $contents_add_page = '';
function add_page()
{
ob_start();
//echo '<h2>My Wordpress Plugin Generel</h2>';
echo "<form method='POST' action=''>
<ul>
<li><label for='fname'>Family Name (Sir Name)<span> *</span>: </label>
<input id='fname' maxlength='45' size='10' name='fname' value='' /></li>
<li><label for='lname'>Last Name<span> *</span>: </label>
<input id='lname' maxlength='45' size='10' name='lname' value='' /></li>
<li><label for='lname'>Last Name<span> *</span>: </label>
<input type='submit' maxlength='45' size='10' name='lname' value='' /></li>
</ul>
</form>";
$this->contents_add_page = ob_get_contents();
ob_end_clean();
}
您也可以包含一个文件并将其输出存储在var中:
ob_start();
include DIR . '/content-home.php';
$contents = ob_get_contents();
ob_end_clean();
事实上,我在WP中使用这些技术通过AJAX输出HTML。
我得到答案了
include('content-home.php');