ここでカスタムユーザー管理領域を使ってWordpressプラグインを構築しようとしています。私がやりたいことは、ユーザーがページの最後に追加/編集したときに、プラグインからページが開くはずです。だから例えば
example.com/page-1/edit
をロードする必要がありますexample.com/wp-content/plugins/custom-user-admin-area/index.php?u=page-1
私はWP_Rewriteを利用しようとしていますが無駄です。
class MyPlugin {
function create_rewrite_rules($rules) {
global $wp_rewrite;
$newRule = array('([A-Za-z0-9-].+)/edit/' => 'wp-content/plugins/custom-user-admin-area/index.php?u=' . $wp_rewrite->preg_index(1));
$newRules = $newRule + $rules;
return $newRules;
}
function flush_rewrite_rules() {
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
}
$MyPluginCode = new MyPlugin();
add_filter('rewrite_rules_array', array($MyPluginCode, 'create_rewrite_rules'));
add_filter('init', array($MyPluginCode, 'flush_rewrite_rules'));
エンドポイントの作成 。エンドポイントのコールバック関数では、プラグイン関数を内部的に呼び出すため、WordPress環境全体が利用可能ですandプラグインURL がどこにあっても同じドメイン。
さらに、すべてのページのロードで書き換えルールをフラッシュしないようにしてください。 (de)activation hook を使用してください。