Intereting Posts
Как показать термины из другой таксономии Плагин «Детский сайт», блок-шаблон Редактирование изображений: кнопки «Редактировать оригинал» и «Заменить» отсутствуют на старых сообщениях Стратегии борьбы с гиперагрессивными спам-ботами? Способ входа для зарегистрированных пользователей анонимно? (членский сайт) Как добавить метку «Автор» / «Роль» рядом с комментариями автора сообщения? Передача переменных через структуру постоянных ссылок в пользовательских типах сообщений Возможности CPT WordPress Как исправить эту вставку? Не работай для меня! Показывать текущую таксономию в сообщении Удаление «www» с URL-адреса сайта Пользовательский цикл для пользовательского типа сообщения для текущего автора Сколько фильтров / активных крючков здорово? Пред. / След. Навигация для текущей страницы? Есть ли плагин для защиты загрузок с помощью recaptcha?

Как добавить правило переадресации в WordPress?

Прямо сейчас я могу динамически генерировать js и css, основываясь на моих параметрах темы

Для этого я настроил запрос var, который, если он переадресовывается в файл php, который затем загружается как файл javascript. После этого он берет jqpostID и захватывает все параметры, которые мне нужно сгенерировать.

Я в основном должен включать ссылку на скрипт, которая ссылается на часть местоположения моего html http://mywordpress.com/?dynamic=js&jqpostid=130

Я бы хотел сделать его более читаемым и менее очевидным, что он динамически генерируется. может быть, так …

http://mywordpress.com/dynamic/js/123

я полагаю, это было бы даже лучше … http://mywordpress.com/dynamic/js/123.js

Я полагаю, что мне нужно как-то подключить механизм перезаписи WordPress. И добавьте новое правило. Любая помощь или ссылки на другие статьи были бы замечательными, или какой-то образец кода был бы потрясающим.

Solutions Collecting From Web of "Как добавить правило переадресации в WordPress?"

добавление этих функций должно сделать трюк.

Прежде всего, добавьте эту строку в functions.php, пока вы работаете над этим:

add_action('init', 'flush_rewrite_rules'); 

То, что этот код будет делать, – это постоянно очищать правила перезаписи, что упрощает тестирование, когда вы работаете над ним, вместо того, чтобы входить и вручную перезагружать их после каждого небольшого изменения, внесенного вами в правила перезаписи. УБЕДИТЕСЬ, что вы удалите это, когда закончите, и убедитесь, что все работает.

Затем эта функция создаст правила перезаписи, которые вы хотите.

 function custom_add_rewrite_rules( $wp_rewrite ) { $new_rules = array( 'dynamic/js/(\d+).js' => 'index.php?dynamic=js&jqpostid=' . $wp_rewrite->preg_index(1), 'dynamic/css/(\d+).css' => 'index.php?dynamic=css&csspostid=' . $wp_rewrite->preg_index(1) ); $wp_rewrite->rules = $new_rules + $wp_rewrite->rules; } add_action('generate_rewrite_rules', 'custom_add_rewrite_rules'); 

Я принял удар, в котором, возможно, будет выглядеть правило CSS, возможно, вам придется настроить его для своих нужд, я просто подумал, что он будет отформатирован так, как вы описали для javascript. Это может вызвать странное поведение, когда он пытается переписать URL-адрес в расширение файла, и может вообще не работать. В этом случае просто удалите .js и .css с конца первой части ассоциативных записей массива.

 function custom_add_rewrite_rules( $wp_rewrite ) { $new_rules = array( 'dynamic/js/(\d+)' => 'index.php?dynamic=js&jqpostid=' . $wp_rewrite->preg_index(1), 'dynamic/css/(\d+)' => 'index.php?dynamic=css&csspostid=' . $wp_rewrite->preg_index(1) ); $wp_rewrite->rules = $new_rules + $wp_rewrite->rules; } add_action('generate_rewrite_rules', 'custom_add_rewrite_rules'); 

В основном все это задает URL-адрес, который нужно искать, и строку, которую он запускает на своем месте. Первая часть записи массива имеет регулярное выражение, которое ищет только числа, а часть в скобках. (это может быть настроено для поиска определенного количества цифр, если это необходимо), совпадение которого передается во вторую часть записи массива как то, что будет возвращено в строке.

Надеюсь, это поможет вам, не стесняйтесь обращаться ко мне, если у вас возникнут проблемы.