web-dev-qa-db-fra.com

Comment définir un rappel pour un URI?

J'ai une fonction dans functions.php comme ceci:

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

Je souhaite que cette fonction soit appelée chaque fois qu'une URL telle que myplugin/mycallback/xxx est utilisée.

Comment/où puis-je définir ce chemin afin qu'il ne génère pas de 404?

1
kidrobot

Vous pouvez utiliser add_feed( $url, $callback ) . Malgré son nom, il envoie un text/html Content-Type.

Exemple de base:

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>';
}

Visitez la page des paramètres de permalien une fois pour actualiser le cache de réécriture, puis accédez à example.com/wpse50841/ ou example.com/?feed=wpse50841 pour voir votre code en action.

2
fuxia