Créer des règles de réécriture pour mon plugin WordPress
Je suis en train d'écrire un plug-in pour WordPress qui en fait va être séparée de la commande de module (il sera placé dans un IFRAME sur le site que je suis en développement, ainsi que d'autres) mais avec son admin lié à WordPress. J'ai écrit à l'administration de la partie sans trop de difficultés, cependant, je vais avoir des ennuis avec le front-end.
Tout d'abord, je voudrais que mon script accessible via www.mysite.com/order/et, comme par le codex WordPress, j'ai trouvé j'ai besoin de placer le code suivant dans mon principal fichier de plugin:
add_action('init', 'ta_flush_rewrite_rules');
function ta_flush_rewrite_rules()
{
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
add_action('generate_rewrite_rules', 'ta_add_rewrite_rules');
function ta_add_rewrite_rules( $wp_rewrite ) {
$new_rules = array("order/(.+)" => "/wp-content/plugins/my-plugin/order.php");
$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}
Mais il ne fonctionne pas et je n'ai pas vraiment envie de se salir avec .htaccess de piratage.
En outre, même si ce serait le travail, la order.php le fichier est un fichier séparé de mon plugin. Cela signifie que je vais devoir inclure certains fichiers WordPress afin d'avoir accès à la base de données et d'autres classes d'aide et de fonctions. Ce qui nous amène à la question numéro 2: est-il un moyen de l'URL à appeler une fonction de mon plugin de rendu de la page de commande?
- avez-vous trouvé une solution pour cela?
- Autant que je me souvienne, je suis allé une autre route.
Vous devez vous connecter pour publier un commentaire.
caisse wp_rewrite dans un Plugin WordPress vous pouvez trouver les informations dont vous avez besoin.
ne pas rincer les règles sur INIT car il fera beaucoup de requêtes mysql sur chaque page et interférer avec d'autres plugins en utilisant des règles de réécriture (comme ceux de la création d'un custom post types)