Я пишу плагин для WordPress, который на самом деле будет отдельным модулем заказа (он будет размещен в IFRAME на сайте, который я разрабатываю, а также на других), но его администратор привязан к WordPress. Я написал административную часть без особых хлопот, но у меня проблемы с внешним интерфейсом.
Прежде всего, я бы хотел, чтобы мой скрипт был доступен через www.mysite.com/order/ и, в соответствии с кодексом WordPress , я обнаружил, что мне нужно поместить следующий код в мой основной файл плагина:
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 вызывал функцию моего плагина для отображения страницы заказа?