web-dev-qa-db-ja.com

URIのコールバックを定義する方法

私はfunctions.phpのように関数を持っています:

function myplugin_mycallback($id) {
  // do something
}

Myplugin/mycallback/xxxのようなURLがアクセスされるたびにこの関数が呼び出されるようにします。

404を生成しないように、このパスをどのように/どこで定義するのですか?

1
kidrobot

あなたは add_feed( $url, $callback ) を使うことができます。その名前にもかかわらず、それはtext/html Content-Typeを送ります。

基本的な例:

add_action( 'init', 'wpse_50841_register_extra_page' );

function wpse_50841_register_extra_page()
{
    add_feed( 'wpse50841', 'wpse_50841_callback' );
}

function wpse_50841_callback()
{
    print '<p>It works!</p>';
}

パーマリンク設定ページに1回アクセスして書き換えキャッシュを更新し、example.com/wpse50841/またはexample.com/?feed=wpse50841にアクセスしてコードの動作を確認してください。

2
fuxia