PHP バージョン 5+
以下で説明する最初の 2 つの方法で最初に行うことは、Wordpress でページを作成することです。「ページ」->「新規作成」を選択して、「my-page」または「My Page」というタイトルで作成します。スラッグは、まだ存在しない限り、どちらの場合も「my-page」にする必要があります。「my_page」は使用しないでください。
プラグイン内でフロントエンド ページを管理するには、いくつかの方法があります。
私が最も気に入っているのは、次の例に示すように、ページをプラグインのディレクトリに置き、それをテーマのディレクトリにコピーすることです。
通常どおりフォームを作成し、プラグインのディレクトリに保存します。
このファイルは、スタイルシート ディレクトリ内のページのテンプレートになります。私が知る限り、WPがページをロードするには、ページがこのディレクトリに配置されている必要があります。
例:
// Make sure you define in your plugin's main script the location of the plugin, with a code like this:
// Holds the absolute path to MyPlugin directory, without slashes.
if ( !defined( 'MyPlugin_DIR' ) ) define( 'MyPlugin_DIR', __DIR__ );
function CopyFile() {
$TemplateFileSourceURL = MyPlugin_DIR . '/my-page.php'; // Address to your file in the plugin directory
$TemplateFileTargetURL = get_stylesheet_directory() . '/page-my-page.php'; // Note the "page-" prefix, it is necessary for WP to select this file instead of the general "page.php". The name after the prefix must match the slug of the page created in WP.
if ( !file_exists( $TemplateFileSourceURL ) ) {
return FALSE;
}
$GetTemplate = file_get_contents( $TemplateFileSourceURL );
if ( !$GetTemplate ) {
return FALSE;
}
$WriteTemplate = file_put_contents( $TemplateFileTargetURL, $GetTemplate );
if ( !$WriteTemplate ) {
return FALSE;
}
return TRUE;
}
もう 1 つの方法は、ページを作成し、それをテーマのディレクトリにテンプレート ファイルまたは単なるページとして保存することです。
テンプレートにするには、最初の行に次のコメントを追加する必要があります。
/*
Template Name: MyPage
*/
MyPage は任意の名前にすることができます。次に、WP のページ エディターに移動し、右側のバーで MyPage テンプレートを選択します。エディターのページをリロードするとそこにあるはずです。
テーマのディレクトリにあるファイルの名前に接頭辞「page-」を追加すると、テンプレートにする必要はありません。つまり、page-my-page.php です。
最後の方法は、ファイルを作成し、必要な場所に保存して、最初の行で次のようなコードを使用して WP をロードすることです。
注: このメソッドを使用する場合、WP でページを作成する必要はありません。ユーザーの変数と関数を再宣言する必要があるかもしれませんが、何もしません。
require_once ('WPBlogUrl/wp-load.php'); // Make sure WPBlogUrl points to the blog's url.
どの方法が最適ですか? 要件によって異なりますが、テーマのディレクトリにフロントエンド ページを手動で追加する必要がない場合は、最初のオプションが最適だと思います。
プラグインを削除するときは、アンインストール スクリプト内のファイルを削除することを忘れないでください。
お役に立てれば。
フェリペ アラメダ A.