2009-10-13 11 views
0

Я пишу плагин для WordPress, который на самом деле будет отдельным модулем заказа (он будет помещен в IFRAME на сайт, который я разрабатываю, а также другие) но с администратором, связанным с WordPress. Я написал административную часть без лишних хлопот, однако у меня проблемы с интерфейсом.Создать собственное правило перезаписи для моего плагина WordPress

Прежде всего я хотел бы мой сценарий, чтобы быть доступным через www.mysite.com/order/ и, as per the WordPress codex, я обнаружил, что мне нужно поместить следующий код в мой основной файл плагина:

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

Но это не сработает, и я действительно не хочу заразиться взломом .htaccess.

Кроме того, даже если это будет работать, файл order.php является отдельным файлом из моего плагина. Это означает, что мне нужно будет добавить некоторые файлы WordPress, чтобы иметь доступ к базе данных и другим вспомогательным классам и функциям. Это приводит нас к вопросу номер 2: есть ли способ для URL-адреса вызывать функцию моего плагина для отображения страницы заказа?

+0

вы найти решение для этого ? – Ash

+0

Насколько я помню, я пошел другим путем. – janosrusiczki

ответ

2

не сбрасывают правила по INIT, как это будет сделать много MySQL запросов на каждой странице и мешать с другими плагинами, используя пользовательские правила перезаписи (например, те, создание пользовательских типов пост)

Смежные вопросы