web-dev-qa-db-fra.com

Quel est le meilleur moyen de générer des résultats de plug-in dans certaines URL

Savoir que wordpress ne suit pas le modèle MVC. Quelle est la meilleure manière de travailler dans le résultat de sortie du plugin dans une certaine URL? Disons que je voudrais montrer "bonjour le monde" dans la zone principale sous "www.exemple.com/show-hello-world". Merci. espérons que la question est claire!

plus de détails:

Disons l'URL "exemple.com/show-hello-world"

  1. comment pourrais-je spécifier le nom du modèle, disons "page"?
3
simple

Il y a deux étapes:

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

Cela prend en charge la réécriture. N'oubliez pas de vider les règles de réécriture.

Maintenant, votre plugin peut vérifier get_query_var( 'show_hello_world' ); et charger un certain fichier:

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