web-dev-qa-db-ja.com

特定のURLで結果を出力するための最良の方法は何ですか

そのワードプレスを知ることはMVCパターンに従わない。特定のURLでプラグインの結果を出力するためのworpressの最善の方法は何ですか。 "www.example.com/show-hello-world"の下のメインエリアに "hello world"を表示したいとしましょう。ありがとう。質問が明確であることを願っています!

より詳細:

URLを "example.com/show-hello-world"としましょう。

  1. テンプレート名を指定するにはどうすればよいでしょうか。「ページ」としましょう。
3
simple

2つのステップがあります。

function my_plugin_rewrite_rule() {
  global $wp;

  $wp->add_query_var( 'show_hello_world' );
  add_rewrite_rule( 'show-hello-world/?$', 'index.php?show_hello_world=1', 'top' );
}
add_action( 'init', 'my_plugin_rewrite_rule' );

それは書き換えの面倒を見る。書き換え規則をフラッシュすることを忘れないでください。

これであなたのプラグインはget_query_var( 'show_hello_world' );をチェックして特定のファイルをロードすることができます:

function my_plugin_template( $path ) {
 if ( get_query_var( 'show_hello_world' ) )
    return locate_template( 'my-plugin.php' );
  else
    return $path;
}
add_filter( 'template_include', 'my_plugin_template' );
5
scribu