2

私の使命:
私はスタンドアロンのWebサイトである可能性のあるシステムを持っていますが、既存のCMSの一部になり、独自のユーザー管理システム、フォーラム、ブログシステムなどを作成しないようにしたいと考えています。 Joomlaのコンポーネントとして!以前にそれを使っていたので、残念ながら私はJoomlaが好きではありません!したがって、Wordpressを選択しました。

私の問題:
私のシステムでは、Wordpressページ内で管理ページとフロントエンドページの両方を利用できるようにする必要があります。プラグインを作成して管理ページを追加することはできましたが、フロントエンドの作成方法をまだ見つけていません。解決策の1つは、選択したテーマでページテンプレートを作成することですが、コンポーネントをWordpressから可能な限り分離し、テーマに依存しないようにしたいので、これは悪い解決策です。

どのようにお手伝いできますか:
簡単な例を提供するか、チュートリアルまたは既存のWordpressプラグインのいずれかに案内して、プラグインを作成できるようにしてください。このプラグインは自分のページでのみ使用する必要があり、Wordpressをプラグインのシェルとしてのみ使用したいことを覚えておいてください。

4

1 に答える 1

1

必要だと思うことを行う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()」のような単純な関数である可能性があります。

于 2013-02-05T20:40:37.203 に答える