像Joomla中的组件一样开发Wordpress插件

时间:2013-02-04 22:09:36

标签: wordpress

我的使命:
我有一个可以作为独立网站的系统,但我想成为现有CMS的一部分,这样我就可以避免编写自己的用户管理系统,论坛,博客系统等。我本来可以把它做成一个Joomla中的组件!因为我之前一直在使用它,但不幸的是我不喜欢Joomla!因此选择了Wordpress。

我的问题:
我的系统应该在我的Wordpress页面中都有管理页面和前端页面。我已经能够创建一个插件并添加管理页面,但我还没有找到如何制作前端。 一个解决方案可能是在我选择的主题中创建页面模板,但是因为我想尽可能地从Wordpress中分离我的组件,并且还希望它与主题无关,这是一个糟糕的解决方案。

你如何帮助:
请给我一个简单的例子或指导我一个教程或现有的Wordpress插件让我看看能够制作我的插件。请记住,此插件只应在我的页面上使用,并且我只想将Wordpress用作插件的外壳

1 个答案:

答案 0 :(得分:1)

我认为您需要的一种方法是创建一个可以放入任何主题的自定义模板文件。然后你只需要通过wp-admin后端创建一个空的Wordpress页面,并将页面模板设置为'MyPluginPageTemplate'。模板页面与主题无关,可以放入系统中的任何或所有主题。

例如,创建一个名为“myplugin-template.php”的文件并将其保存在活动主题文件夹的根目录中。 (例如/wordpress/wp-content/themes/activetheme/myplugin-template.php)

将以下代码放入文件中:

<? 

 /**
 * Template Name: MyPluginPageTemplate
 *
 * A custom page template for my plugin
 *
 * The "Template Name:" bit above allows this to be selectable
 * from a dropdown menu on the edit page screen.
 *
 * @package WordPress
 * @subpackage 
 * @since 
 */

get_header(); ?>

        <div id="container">
            <div id="content" role="main">
            <?php

            $c = new MyPluginClass();
            $c->pluginInit();

             //Here follows the usual code to include page content in Wordpress - comment out here, because probably not required:
             //get_template_part( 'loop', 'index' );

             ?>

            </div><!-- #content -->
        </div><!-- #container -->

<?php get_footer(); ?>

在这个例子中,我使用的是一个包含在类中的插件,但它可能只是一个像'myplugin_init()'这样的直接函数。

相关问题