わかりました、私はこれを行うことができました。それを理解するのに2日かかりました。これが私がそれをどうやってやったかです:
- プラグインフォルダーを作成します。
- そのプラグイン フォルダに 1x php ファイルを作成します。だからindex.php
わかりましたので、最初にプラグインを登録する必要があります。このコードを index.php に貼り付けます。
function activate_profile_plugin() {
add_option( 'Activated_Plugin', 'Plugin-Slug' );
/* activation code here */
}
register_activation_hook( __FILE__, 'activate_profile_plugin' );
次に、プラグインを登録するときの機能が必要です。一度だけプロファイル ページを登録します。
function create_profile_page( $title, $slug, $post_type, $shortcode, $template = null ) {
//Check if the page with this name exists.
if(!get_page_by_title($title)) {
// if not :
$page_id = -1;
$page_id = wp_insert_post(
array(
'comment_status' => 'open',
'ping_status' => 'open',
'post_content' => $shortcode,
'post_author' => 1, // Administrator is creating the page
'post_title' => $title,
'post_name' => strtolower( $slug ),
'post_status' => 'publish',
'post_type' => strtolower( $post_type )
)
);
// If a template is specified in the function arguments, let's apply it
if( null != $template ) {
update_post_meta( get_the_ID(), '_wp_page_template', $template );
} // end if
return $page_id;
}
}
わかりましたので、プログラムでページを登録する関数を作成しました。5 つのパラメーターがあります。
- タイトルです
- ナメクジ
- 投稿タイプ
- ショートコード。
- テンプレート
ショートコード テンプレートの場合、完全なページ出力でショートコードを作成し、それをこの関数のパラメーターとして追加する必要があります。したがって、登録ページの場合、登録フォームなどを含むショートコードになります。
例えば :
function registration_shortcode(){
echo 'Wellcome to Registration page';
}
add_shortcode('registration_output', 'registration_shortcode');
次に、プラグインがロードされたときに一度だけ呼び出す必要があります。
だから私たちはこれを行います:
function load_plugin() {
if ( is_admin() && get_option( 'Activated_Plugin' ) == 'Plugin-Slug' ) {
delete_option( 'Activated_Plugin' );
/* do stuff once right after activation */
// example: add_action( 'init', 'my_init_function' );
create_profile_page('Registration', 'registration', 'page', '[registration_output]');
create_profile_page('Profile', 'profile', 'page', '[profile_shortcode]');
create_profile_page('Profil Edit', 'profile-edit', 'page', '[edit_shortcode]');
}
}
add_action( 'admin_init', 'load_plugin' );
これは、プラグインのロード時に 1 回だけ実行され、プロファイル、登録、プロファイル編集の 3 つのページが作成されます。
それだけです。フロントエンドのユーザー プロファイルの空白ページがあり、ショートコードでページ出力を記述したり、ページを追加したり、好きなフォームや要素を配置したり、まともなプロファイルを作成したりできます (必要なものはありません)。プラグインのように必要ではありません。)
これが役に立てば幸いです。これを理解するのは苦痛でした。乾杯!