概念的に私がやりたいことは超簡単です。私のプラグインでは、私は私のワードプレスサイトへの単一のパス/ルートを追加したいです。
[mysiteurl]/testpath
...これは特定のファイルをロードします。
[filepath-to-my-plugin]/testfile.html
Wp-rewrite、flush_rules、add_filter( 'rewrite_rules_array'、xxx)で遊んだことがありますが、サイトがパスを受け入れてホームページを表示することしかできませんでした。
明らかに単純なものが足りないのですが、必要なものが見つからないまましばらくグーグルしました。何か案は?
その考えは、WordPressサイトのプラグインにプログラムでpath/url( "[mysite]/mypath"など)を作成してから、任意のhtmlファイルまたはphpファイルを読み込むことです。他の誰かが似たようなものを探しているのであれば、これは私のために働きます(私のメインプラグイン関数ファイルの中で):
register_activation_hook(__FILE__, 'myplugin_activate');
function myplugin_activate () {
create_custom_page('mytestpath');
}
function create_custom_page($page_name) {
$pageExists = false;
$pages = get_pages();
foreach ($pages as $page) {
if ($page->post_name == $page_name) {
$pageExists = true;
break;
}
}
if (!$pageExists) {
wp_insert_post ([
'post_type' =>'page',
'post_name' => $page_name,
'post_status' => 'publish',
]);
}
}
// End Plugin Activation
//Start Catching URL
add_filter( 'page_template', 'catch_mypath' );
function catch_mypath( $page_template ) {
if ( is_page( 'mytestpath' ) ) {
$page_template = __DIR__.'/mypage.html';
}
return $page_template;
}