web-dev-qa-db-fra.com

Créer un chemin dans un plugin pour appeler une fonction

Bon, supposons que je veuille créer une page "imprimable" dynamique en utilisant un système qui ne fonctionne pas bien avec le moteur de thématisation de wordpress, existe-t-il un moyen de définir un "permalink" dans mon plugin qui appellera une fonction prédéfinie , aussi dans mon plugin?

Si vous connaissez Drupal, son fonctionnement est similaire à celui de hook_menu, mais je n'en ai besoin que de façon très limitée, il n'est donc pas nécessaire qu'il soit aussi robuste.

2
Trey

Quelque chose du genre le ferait probablement:

function wpse21372_init(){
  add_rewrite_rule( 'your-page-regex/?$', 'index.php?wpse21372=1', 'top' );
  add_rewrite_tag( '%wpse21372%', '([^&]+)' );
}

add_action( 'wp', 'wpse21372_wp' );

function wpse21372_wp( $wp ){
  if( isset( $wp->query_vars['wpse21372'] ) && !empty( $wp->query_vars['wpse21372'] ) ){
    //You're on your custom page.
    //you may want to exit page
    //execution when you're done
    //so the rest of WordPress'
    //normal execution doesn't take
    //over from here.
  }
}

Après avoir ajouté ce code, veillez à vider les règles de réécriture en accédant à Paramètres -> Permaliens.

4
John P Bloch